{"nbformat":4,"nbformat_minor":0,"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.6.12"},"colab":{"name":"lstm-32.ipynb","provenance":[],"collapsed_sections":["6I2j_EsTnD-c","zKpjhNvYnD-d","f-S6AlgJnD-g"]}},"cells":[{"cell_type":"markdown","metadata":{"id":"QIzYn6uCnD-A"},"source":["## Initialisation time series"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"77EG_DP6nD-C","executionInfo":{"status":"ok","timestamp":1632787047874,"user_tz":-120,"elapsed":199,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"15d42c66-ef5f-4561-8b87-f4bd5addf6c1"},"source":["import matplotlib.pyplot as plt\n","import tensorflow as tf\n","#from keras.backend.tensorflow_backend import set_session\n","import keras\n","import seaborn as sns\n","import pandas as pd\n","import sys, time\n","import numpy as np\n","import warnings\n","import struct\n","import binascii\n","\n","from pandas import DataFrame\n","from pandas import Series\n","from pandas import concat\n","from pandas import read_csv\n","from pandas import datetime\n","\n","from sklearn.metrics import mean_squared_error\n","from sklearn.preprocessing import MinMaxScaler\n","\n","\n","#from keras.models import Sequential\n","#from keras.layers import Dense\n","#from keras.layers import LSTM\n","#from math import sqrt\n","\n","\n","warnings.filterwarnings(\"ignore\")\n","print(\"python {}\".format(sys.version))\n","print(\"keras version {}\".format(keras.__version__))\n","print(\"tensorflow version {}\".format(tf.__version__))"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["python 3.7.12 (default, Sep 10 2021, 00:21:48) \n","[GCC 7.5.0]\n","keras version 2.6.0\n","tensorflow version 2.6.0\n"]}]},{"cell_type":"code","metadata":{"id":"B-fCrOa8nD-H"},"source":["# date-time parsing function for loading the dataset\n","def parser(x):\n","\treturn datetime.strptime('190'+x, '%Y-%m')\n"," \n","# frame a sequence as a supervised learning problem\n","def timeseries_to_supervised(data, lag=1):\n","\tdf = DataFrame(data)\n","\tcolumns = [df.shift(i) for i in range(1, lag+1)]\n","\tcolumns.append(df)\n","\tdf = concat(columns, axis=1)\n","\tdf.fillna(0, inplace=True)\n","\treturn df\n"," \n","# create a differenced series\n","def difference(dataset, interval=1):\n","\tdiff = list()\n","\tfor i in range(interval, len(dataset)):\n","\t\tvalue = dataset[i] - dataset[i - interval]\n","\t\tdiff.append(value)\n","\treturn Series(diff)\n"," \n","# invert differenced value\n","def inverse_difference(history, yhat, interval=1):\n","\treturn yhat + history[-interval]\n"," \n","# scale train and test data to [0, 1]\n","def scale(train, test):\n","\t# fit scaler\n","\tscaler = MinMaxScaler(feature_range=(0, 0.9))\n","\tscaler = scaler.fit(train)\n","\tprint(scaler.data_min_)\n","\tprint(scaler.data_max_)\n","\t# transform train\n","\ttrain = train.reshape(train.shape[0], train.shape[1])\n","\ttrain_scaled = scaler.transform(train)\n","\t# transform test\n","\ttest = test.reshape(test.shape[0], test.shape[1])\n","\ttest_scaled = scaler.transform(test)\n","\treturn scaler, train_scaled, test_scaled\n"," \n","# inverse scaling for a forecasted value\n","def invert_scale(scaler, X, value):\n","\tnew_row = [x for x in X] + [value]\n","\tarray = np.array(new_row)\n","\tarray = array.reshape(1, len(array))\n","\tinverted = scaler.inverse_transform(array)\n","\treturn inverted[0, -1]\n","\n","# fit an LSTM network to training data\n","def fit_lstm(train, batch_size, nb_epoch, neurons):\n","\tX, y = train[:, 0:-1], train[:, -1]\n","\tX = X.reshape(X.shape[0], 1, X.shape[1])\n","\tprint(X.shape)\n","\tmodel = tf.keras.models.Sequential([])\n","\tinp = keras.layers.Input(batch_shape= (batch_size, X.shape[1], X.shape[2]),name=\"input\")\n","\trnn = keras.layers.LSTM(neurons, stateful=False,name=\"RNN\")(inp)\n","\tdens = keras.layers.Dense(1,name=\"dense\")(rnn)#keras.layers.TimeDistributed(keras.layers.Dense(1,name=\"dense\"))(rnn)\n","\tmodel = keras.models.Model(inputs=[inp],outputs=[dens])\n","\tmodel.compile(loss=\"mean_squared_error\",\n","                  optimizer=\"adam\")\n","\tmodel.summary()\n","\tmodel.fit(X, y, epochs=nb_epoch, batch_size=batch_size, verbose=0, shuffle=False)\n","\treturn model\n"," \n","# make a one-step forecast\n","def forecast_lstm(model, batch_size, X):\n","\tX = X.reshape(1, 1, len(X))\n","\tyhat = model.predict(X, batch_size=batch_size)\n","\treturn yhat[0,0]\n"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"VNpjpnUGnD-K"},"source":["## Evaluation\n","\n","Fonction de détermination de l'erreur absolue en pourcentage\n","\n","Combien de \\% d'écart en moyenne entre la donnée prédite et la donnée mesurée"]},{"cell_type":"code","metadata":{"id":"0-ekQkZAnD-O"},"source":["def mean_absolute_percentage_error(y_true, y_pred): \n","     return ((np.fabs(y_true - y_pred)/y_true).mean())"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"LCwZq06gnD-P"},"source":["## Importation des données\n","\n","Colonnes importées : 2e, 3e et 8e colonnes\n","\n","2e colonne : Temps\n","3e colonne : identifiant Antenne\n","7e colonne : Quantité de données"]},{"cell_type":"code","metadata":{"id":"r6S_UiWlnD-Q"},"source":["dataframe = read_csv('/dataset.csv', usecols=[1,2,7], engine='python')"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"L9rw0rjynD-S"},"source":["dataset = dataframe.values"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"pbn_kHKunD-T"},"source":["dataset = dataset.astype('float32')\n","where_are_NaNs = np.isnan(dataset)\n","dataset[where_are_NaNs] = 0"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"ofyJ8TESnD-V"},"source":["## Sélection des données\n","\n","Isolation d'une antenne (ID : 39)\n","\n","Convertion du temps en heures"]},{"cell_type":"code","metadata":{"id":"ZP295w32nD-W"},"source":["newdataset1 = []\n","newdataset2 = []\n","\n","for i in range(len(dataset)):\n","    if dataset[i,1]==39:\n","        a = dataset[i, 2]\n","        b = (dataset[i, 0]-1383260400000)/3600000\n","        newdataset1.append(a)\n","        newdataset2.append(b)"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":765},"id":"7gbx_2YVnD-W","executionInfo":{"status":"ok","timestamp":1632781561250,"user_tz":-120,"elapsed":1025,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"0ea4f685-baa8-4816-9ee7-a301ed337ae7"},"source":["raw_values = np.asarray(newdataset1)\n","l=len(raw_values)\n","plt.plot(raw_values[:int(l/3)])\n","plt.show()\n","plt.plot(raw_values[int(l/3):-int(l/3)])\n","plt.show()\n","plt.plot(raw_values[-int(l/3):])\n","plt.show()"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{"needs_background":"light"}},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{"needs_background":"light"}},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"ryqgzYllnD-X"},"source":["## Découpage du jeu de données\n","\n","Définition d'un jeu d'entrainement et d'un jeu de test\n","\n","Mise à l'échelle des données sur l'intervalle \\[0,1\\]"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":546},"id":"gAMBwpAtnD-Z","executionInfo":{"status":"ok","timestamp":1632781565237,"user_tz":-120,"elapsed":635,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"da7e436a-9b90-409a-acef-a690fa136179"},"source":["diff_values = difference(raw_values, 1)\n"," \n","# transform data to be supervised learning\n","supervised = timeseries_to_supervised(diff_values, 1)\n","supervised_values = supervised.values\n"," \n","# split data into train and test-sets\n","train, test = supervised_values[0:-int(l/3)], supervised_values[-int(l/3):]\n"," \n","# transform the scale of the data\n","scaler, train_scaled, test_scaled = scale(train, test)\n","\n","plt.plot(train_scaled[:int(l/3)])\n","plt.show()\n","plt.plot(test_scaled[:int(l/3)])\n","plt.show()"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["[-363.16381836 -363.16381836]\n","[373.3527832 373.3527832]\n"]},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{"needs_background":"light"}},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["<Figure size 432x288 with 1 Axes>"]},"metadata":{"needs_background":"light"}}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"my4J6qBxnD-b","executionInfo":{"status":"ok","timestamp":1632781568252,"user_tz":-120,"elapsed":214,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"4e26a5fb-54ae-44af-96a3-a2443d6de8cf"},"source":["test_scaled[0]\n","\n","raw_values[-int(l/3)-0]"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["191.95605"]},"metadata":{},"execution_count":13}]},{"cell_type":"markdown","metadata":{"id":"6I2j_EsTnD-c"},"source":["## Entrainement"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"aoHoik8InD-c","executionInfo":{"status":"ok","timestamp":1632787753212,"user_tz":-120,"elapsed":6846,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"a5e6a13f-c6d3-4281-9788-0df5016efa3c"},"source":["hunits = 150\n","\n","lstm_model = fit_lstm(train_scaled, 1, 1, hunits)\n","# forecast the entire training dataset to build up state for forecasting\n","train_reshaped = train_scaled[:, 0].reshape(len(train_scaled), 1, 1)\n","lstm_model.predict(train_reshaped, batch_size=1)"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["(1439, 1, 1)\n","Model: \"model_5\"\n","_________________________________________________________________\n","Layer (type)                 Output Shape              Param #   \n","=================================================================\n","input (InputLayer)           [(1, 1, 1)]               0         \n","_________________________________________________________________\n","RNN (LSTM)                   (1, 150)                  91200     \n","_________________________________________________________________\n","dense (Dense)                (1, 1)                    151       \n","=================================================================\n","Total params: 91,351\n","Trainable params: 91,351\n","Non-trainable params: 0\n","_________________________________________________________________\n"]},{"output_type":"execute_result","data":{"text/plain":["array([[0.43824217],\n","       [0.4349587 ],\n","       [0.43999007],\n","       ...,\n","       [0.4402583 ],\n","       [0.44356418],\n","       [0.4379658 ]], dtype=float32)"]},"metadata":{},"execution_count":223}]},{"cell_type":"markdown","metadata":{"id":"zKpjhNvYnD-d"},"source":["## Prédiction\n","\n","Prédiction de la donnée et établissement d'un jeu de données prédite."]},{"cell_type":"code","metadata":{"id":"VmUFf72tnD-d","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632781619136,"user_tz":-120,"elapsed":29494,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"ff1e876b-ec6b-4212-93a5-3c4ab693c4b9"},"source":["# walk-forward validation on the test data\n","predictions = list()\n","for i in range(len(test_scaled)):\n","\t# make one-step forecast\n","\tX, y = test_scaled[i, 0:-1], test_scaled[i, -1]\n","\tyhat = forecast_lstm(lstm_model, 1, X)\n","\t# invert scaling\n","\tyhat = invert_scale(scaler, X, yhat)\n","\t# invert differencing\n","\tyhat = inverse_difference(raw_values, yhat, len(test_scaled)+1-i)\n","\t# store forecast\n","\texpected = raw_values[len(train) + i + 1]\n","\n","\tpredictions.append(yhat)\n","\n","for i in range(len(test_scaled)):\n","\tprint('hour=%d, Predicted=%f, Expected=%f' % ((i+1)/6, predictions[i], raw_values[len(train) + i + 1]))"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["hour=0, Predicted=146.197829, Expected=191.956055\n","hour=0, Predicted=194.255743, Expected=164.897003\n","hour=0, Predicted=161.770041, Expected=182.858307\n","hour=0, Predicted=183.278620, Expected=155.276047\n","hour=0, Predicted=152.105307, Expected=165.862061\n","hour=1, Predicted=165.730578, Expected=145.821472\n","hour=1, Predicted=143.276110, Expected=163.629761\n","hour=1, Predicted=164.038782, Expected=157.103607\n","hour=1, Predicted=155.648082, Expected=183.635971\n","hour=1, Predicted=184.683540, Expected=150.563354\n","hour=1, Predicted=146.929472, Expected=164.106354\n","hour=2, Predicted=164.197419, Expected=134.988403\n","hour=2, Predicted=131.688769, Expected=141.608185\n","hour=2, Predicted=141.175281, Expected=156.797821\n","hour=2, Predicted=157.012098, Expected=128.033493\n","hour=2, Predicted=124.763588, Expected=139.992706\n","hour=2, Predicted=139.964827, Expected=159.881165\n","hour=3, Predicted=160.443811, Expected=164.712021\n","hour=3, Predicted=164.142101, Expected=162.614120\n","hour=3, Predicted=161.507160, Expected=144.544479\n","hour=3, Predicted=142.160522, Expected=132.654465\n","hour=3, Predicted=130.771063, Expected=133.625351\n","hour=3, Predicted=132.757498, Expected=125.026077\n","hour=4, Predicted=123.405903, Expected=117.649826\n","hour=4, Predicted=116.126890, Expected=130.966370\n","hour=4, Predicted=131.040509, Expected=128.980774\n","hour=4, Predicted=127.882593, Expected=115.817986\n","hour=4, Predicted=113.832150, Expected=125.533104\n","hour=4, Predicted=125.335698, Expected=121.991913\n","hour=5, Predicted=120.771788, Expected=113.118286\n","hour=5, Predicted=111.476235, Expected=129.486404\n","hour=5, Predicted=129.788481, Expected=116.593254\n","hour=5, Predicted=114.629125, Expected=104.210365\n","hour=5, Predicted=102.287356, Expected=117.934402\n","hour=5, Predicted=118.039101, Expected=125.855789\n","hour=6, Predicted=125.522172, Expected=120.260826\n","hour=6, Predicted=118.878930, Expected=125.247589\n","hour=6, Predicted=124.689669, Expected=127.108162\n","hour=6, Predicted=126.309256, Expected=110.700829\n","hour=6, Predicted=108.452326, Expected=127.304375\n","hour=6, Predicted=127.623963, Expected=145.784500\n","hour=7, Predicted=146.243226, Expected=118.403046\n","hour=7, Predicted=115.249085, Expected=158.152710\n","hour=7, Predicted=160.138491, Expected=154.104416\n","hour=7, Predicted=152.844391, Expected=147.138000\n","hour=7, Predicted=145.647575, Expected=179.783234\n","hour=7, Predicted=181.269093, Expected=214.888748\n","hour=8, Predicted=216.548841, Expected=231.352890\n","hour=8, Predicted=231.662088, Expected=231.367111\n","hour=8, Predicted=230.424897, Expected=246.529984\n","hour=8, Predicted=246.742212, Expected=247.186722\n","hour=8, Predicted=246.294480, Expected=249.184052\n","hour=8, Predicted=248.395754, Expected=287.423309\n","hour=9, Predicted=289.303633, Expected=287.817322\n","hour=9, Predicted=286.904715, Expected=274.187195\n","hour=9, Predicted=272.163679, Expected=246.855698\n","hour=9, Predicted=243.705932, Expected=274.846161\n","hour=9, Predicted=275.998918, Expected=266.503662\n","hour=9, Predicted=264.903926, Expected=268.067993\n","hour=10, Predicted=267.246137, Expected=270.030304\n","hour=10, Predicted=269.239275, Expected=292.871002\n","hour=10, Predicted=293.650245, Expected=287.781891\n","hour=10, Predicted=286.439920, Expected=260.860046\n","hour=10, Predicted=257.744547, Expected=291.595703\n","hour=10, Predicted=292.945424, Expected=213.830490\n","hour=11, Predicted=206.174287, Expected=286.868896\n","hour=11, Predicted=291.066691, Expected=241.481033\n","hour=11, Predicted=236.783897, Expected=227.948135\n","hour=11, Predicted=225.932448, Expected=273.337646\n","hour=11, Predicted=275.713209, Expected=259.466736\n","hour=11, Predicted=257.423831, Expected=259.784729\n","hour=12, Predicted=258.866171, Expected=243.826721\n","hour=12, Predicted=241.614753, Expected=293.363739\n","hour=12, Predicted=296.021967, Expected=308.372009\n","hour=12, Predicted=308.572726, Expected=265.169434\n","hour=12, Predicted=260.663457, Expected=259.645447\n","hour=12, Predicted=258.269136, Expected=278.889008\n","hour=13, Predicted=279.404096, Expected=335.302399\n","hour=13, Predicted=338.421941, Expected=356.060730\n","hour=13, Predicted=356.687421, Expected=291.547729\n","hour=13, Predicted=285.131696, Expected=280.442963\n","hour=13, Predicted=278.622605, Expected=300.218842\n","hour=13, Predicted=300.773220, Expected=290.782074\n","hour=14, Predicted=289.095148, Expected=300.967194\n","hour=14, Predicted=300.805396, Expected=355.039673\n","hour=14, Predicted=358.003224, Expected=336.531586\n","hour=14, Predicted=334.111777, Expected=327.882874\n","hour=14, Predicted=326.258773, Expected=306.397736\n","hour=14, Predicted=303.733551, Expected=341.590637\n","hour=15, Predicted=343.256901, Expected=301.759125\n","hour=15, Predicted=297.545911, Expected=295.583191\n","hour=15, Predicted=294.155371, Expected=335.030212\n","hour=15, Predicted=336.994897, Expected=294.573547\n","hour=15, Predicted=290.306215, Expected=310.025574\n","hour=15, Predicted=310.259411, Expected=309.600708\n","hour=16, Predicted=308.624325, Expected=301.023956\n","hour=16, Predicted=299.405563, Expected=294.421844\n","hour=16, Predicted=292.960295, Expected=316.676300\n","hour=16, Predicted=317.412668, Expected=271.298370\n","hour=16, Predicted=266.602063, Expected=292.170898\n","hour=16, Predicted=292.805955, Expected=294.571960\n","hour=17, Predicted=293.814881, Expected=309.955322\n","hour=17, Predicted=310.184038, Expected=295.266724\n","hour=17, Predicted=293.157676, Expected=336.435303\n","hour=17, Predicted=338.519712, Expected=463.333954\n","hour=17, Predicted=470.683462, Expected=311.058014\n","hour=17, Predicted=295.660592, Expected=418.259674\n","hour=18, Predicted=424.514858, Expected=308.694305\n","hour=18, Predicted=297.895193, Expected=419.776947\n","hour=18, Predicted=426.252922, Expected=459.637390\n","hour=18, Predicted=461.630878, Expected=335.752899\n","hour=18, Predicted=323.460657, Expected=459.346924\n","hour=18, Predicted=466.517345, Expected=290.603394\n","hour=19, Predicted=273.316694, Expected=276.383514\n","hour=19, Predicted=274.312367, Expected=328.431549\n","hour=19, Predicted=331.259328, Expected=400.292328\n","hour=19, Predicted=404.415444, Expected=471.366394\n","hour=19, Predicted=475.439489, Expected=342.553253\n","hour=19, Predicted=329.735774, Expected=341.955444\n","hour=20, Predicted=340.965623, Expected=453.423431\n","hour=20, Predicted=459.921137, Expected=347.685608\n","hour=20, Predicted=337.277375, Expected=252.899200\n","hour=20, Predicted=243.590243, Expected=257.849060\n","hour=20, Predicted=257.288310, Expected=305.996155\n","hour=20, Predicted=308.560047, Expected=279.343048\n","hour=21, Predicted=276.250060, Expected=415.977173\n","hour=21, Predicted=423.843992, Expected=243.473679\n","hour=21, Predicted=225.746493, Expected=252.402206\n","hour=21, Predicted=252.145219, Expected=264.712769\n","hour=21, Predicted=264.711302, Expected=265.893463\n","hour=21, Predicted=265.041853, Expected=275.002197\n","hour=22, Predicted=274.758843, Expected=316.857819\n","hour=22, Predicted=318.989883, Expected=238.988663\n","hour=22, Predicted=231.322582, Expected=330.815247\n","hour=22, Predicted=336.170191, Expected=263.386017\n","hour=22, Predicted=256.700561, Expected=240.539017\n","hour=22, Predicted=237.762400, Expected=231.565979\n","hour=23, Predicted=229.916026, Expected=201.696518\n","hour=23, Predicted=198.333643, Expected=198.143005\n","hour=23, Predicted=196.921905, Expected=227.166138\n","hour=23, Predicted=228.393183, Expected=202.354568\n","hour=23, Predicted=199.415010, Expected=218.640518\n","hour=23, Predicted=218.936498, Expected=229.260880\n","hour=24, Predicted=229.132006, Expected=228.770660\n","hour=24, Predicted=227.789204, Expected=232.090591\n","hour=24, Predicted=231.404435, Expected=181.124069\n","hour=24, Predicted=175.934109, Expected=233.095673\n","hour=24, Predicted=235.918281, Expected=222.553848\n","hour=24, Predicted=220.778537, Expected=232.375595\n","hour=25, Predicted=232.186287, Expected=204.210495\n","hour=25, Predicted=200.990929, Expected=194.252701\n","hour=25, Predicted=192.524119, Expected=179.312546\n","hour=25, Predicted=177.183110, Expected=167.345688\n","hour=25, Predicted=165.456140, Expected=192.026093\n","hour=25, Predicted=192.939401, Expected=147.733444\n","hour=26, Predicted=143.132254, Expected=125.498482\n","hour=26, Predicted=122.772447, Expected=163.487762\n","hour=26, Predicted=165.350575, Expected=161.096390\n","hour=26, Predicted=159.966455, Expected=156.546982\n","hour=26, Predicted=155.247545, Expected=183.446945\n","hour=26, Predicted=184.521098, Expected=130.113937\n","hour=27, Predicted=124.712770, Expected=125.494881\n","hour=27, Predicted=124.189932, Expected=141.923218\n","hour=27, Predicted=142.229782, Expected=132.926910\n","hour=27, Predicted=131.275104, Expected=118.498741\n","hour=27, Predicted=116.410766, Expected=153.355042\n","hour=27, Predicted=154.997526, Expected=127.039879\n","hour=28, Predicted=123.975060, Expected=123.001518\n","hour=28, Predicted=121.742298, Expected=123.908821\n","hour=28, Predicted=123.036041, Expected=127.936028\n","hour=28, Predicted=127.304355, Expected=113.796478\n","hour=28, Predicted=111.731819, Expected=120.214287\n","hour=28, Predicted=119.765969, Expected=127.198494\n","hour=29, Predicted=126.793442, Expected=119.742683\n","hour=29, Predicted=118.213406, Expected=122.180679\n","hour=29, Predicted=121.426429, Expected=122.269470\n","hour=29, Predicted=121.333036, Expected=129.194168\n","hour=29, Predicted=128.784580, Expected=127.813477\n","hour=29, Predicted=126.762561, Expected=138.558044\n","hour=30, Predicted=138.438585, Expected=128.902451\n","hour=30, Predicted=127.198038, Expected=135.237274\n","hour=30, Predicted=134.782616, Expected=141.155838\n","hour=30, Predicted=140.669328, Expected=138.942001\n","hour=30, Predicted=137.825919, Expected=150.559280\n","hour=30, Predicted=150.505647, Expected=177.584030\n","hour=31, Predicted=178.667182, Expected=211.596237\n","hour=31, Predicted=213.179018, Expected=233.163620\n","hour=31, Predicted=233.849674, Expected=256.863983\n","hour=31, Predicted=257.705979, Expected=255.963791\n","hour=31, Predicted=254.950361, Expected=234.333755\n","hour=31, Predicted=231.657620, Expected=310.909698\n","hour=32, Predicted=315.330260, Expected=261.675140\n","hour=32, Predicted=256.638927, Expected=257.176880\n","hour=32, Predicted=255.881491, Expected=292.706665\n","hour=32, Predicted=294.396659, Expected=269.869537\n","hour=32, Predicted=267.093725, Expected=293.541321\n","hour=32, Predicted=294.381219, Expected=299.975250\n","hour=33, Predicted=299.528152, Expected=273.157013\n","hour=33, Predicted=270.050172, Expected=303.022644\n","hour=33, Predicted=304.310125, Expected=340.295380\n","hour=33, Predicted=342.108000, Expected=416.101624\n","hour=33, Predicted=420.473944, Expected=283.070068\n","hour=33, Predicted=269.798397, Expected=360.622223\n","hour=34, Predicted=365.103879, Expected=372.323059\n","hour=34, Predicted=372.275693, Expected=320.834412\n","hour=34, Predicted=315.597991, Expected=298.085297\n","hour=34, Predicted=295.316777, Expected=281.957428\n","hour=34, Predicted=279.731656, Expected=254.296051\n","hour=34, Predicted=251.118678, Expected=311.974823\n","hour=35, Predicted=315.178287, Expected=277.931366\n","hour=35, Predicted=274.214854, Expected=261.309143\n","hour=35, Predicted=259.043178, Expected=287.581604\n","hour=35, Predicted=288.610345, Expected=254.982529\n","hour=35, Predicted=251.388839, Expected=257.100983\n","hour=35, Predicted=256.322051, Expected=255.180862\n","hour=36, Predicted=254.087754, Expected=340.864685\n","hour=36, Predicted=345.848335, Expected=260.914459\n","hour=36, Predicted=253.049854, Expected=330.924835\n","hour=36, Predicted=334.930105, Expected=291.165802\n","hour=36, Predicted=286.958832, Expected=284.988678\n","hour=36, Predicted=283.560761, Expected=304.449951\n","hour=37, Predicted=304.981112, Expected=304.430908\n","hour=37, Predicted=303.486133, Expected=378.645996\n","hour=37, Predicted=382.918152, Expected=301.692444\n","hour=37, Predicted=294.113358, Expected=309.939209\n","hour=37, Predicted=309.630347, Expected=316.727478\n","hour=37, Predicted=316.307476, Expected=352.376068\n","hour=38, Predicted=354.074476, Expected=320.549286\n","hour=38, Predicted=317.021055, Expected=333.678009\n","hour=38, Predicted=333.738051, Expected=282.299713\n","hour=38, Predicted=277.073096, Expected=300.253540\n","hour=38, Predicted=300.673293, Expected=342.036224\n","hour=38, Predicted=344.163241, Expected=278.634674\n","hour=39, Predicted=272.320805, Expected=364.290131\n","hour=39, Predicted=369.272025, Expected=278.325592\n","hour=39, Predicted=269.881680, Expected=269.342773\n","hour=39, Predicted=267.692065, Expected=268.773254\n","hour=39, Predicted=267.785603, Expected=275.366821\n","hour=39, Predicted=274.931942, Expected=296.960754\n","hour=40, Predicted=297.648759, Expected=284.553711\n","hour=40, Predicted=282.628750, Expected=294.392029\n","hour=40, Predicted=294.203989, Expected=298.594849\n","hour=40, Predicted=297.976688, Expected=323.971375\n","hour=40, Predicted=324.935216, Expected=309.031342\n","hour=40, Predicted=306.901930, Expected=291.251190\n","hour=41, Predicted=288.890865, Expected=376.087646\n","hour=41, Predicted=381.019544, Expected=267.083252\n","hour=41, Predicted=256.341648, Expected=276.483734\n","hour=41, Predicted=276.262501, Expected=284.292542\n","hour=41, Predicted=283.950364, Expected=284.973389\n","hour=41, Predicted=284.083000, Expected=271.652679\n","hour=42, Predicted=269.654113, Expected=264.964600\n","hour=42, Predicted=263.496221, Expected=255.074921\n","hour=42, Predicted=253.351802, Expected=257.197876\n","hour=42, Predicted=256.419237, Expected=259.290314\n","hour=42, Predicted=258.509382, Expected=243.953506\n","hour=42, Predicted=241.791950, Expected=255.830032\n","hour=43, Predicted=255.795910, Expected=249.820389\n","hour=43, Predicted=248.405739, Expected=333.551300\n","hour=43, Predicted=338.415445, Expected=428.843323\n","hour=43, Predicted=434.404792, Expected=354.008728\n","hour=43, Predicted=346.630265, Expected=397.184235\n","hour=43, Predicted=399.407513, Expected=275.763550\n","hour=44, Predicted=263.731658, Expected=261.728638\n","hour=44, Predicted=259.672465, Expected=254.270218\n","hour=44, Predicted=252.740746, Expected=243.370392\n","hour=44, Predicted=241.566448, Expected=266.519623\n","hour=44, Predicted=267.321377, Expected=335.204712\n","hour=44, Predicted=339.125157, Expected=327.974121\n","hour=45, Predicted=326.462745, Expected=282.684479\n","hour=45, Predicted=277.995976, Expected=274.951538\n","hour=45, Predicted=273.400287, Expected=265.286041\n","hour=45, Predicted=263.580848, Expected=271.921173\n","hour=45, Predicted=271.489489, Expected=276.191620\n","hour=45, Predicted=275.578629, Expected=245.526138\n","hour=46, Predicted=242.096121, Expected=250.532761\n","hour=46, Predicted=249.976352, Expected=225.521118\n","hour=46, Predicted=222.564927, Expected=254.154526\n","hour=46, Predicted=255.353573, Expected=241.409622\n","hour=46, Predicted=239.457468, Expected=221.856445\n","hour=46, Predicted=219.351056, Expected=237.204727\n","hour=47, Predicted=237.430833, Expected=203.408371\n","hour=47, Predicted=199.712931, Expected=231.900177\n","hour=47, Predicted=233.089030, Expected=248.156464\n","hour=47, Predicted=248.450224, Expected=206.899643\n","hour=47, Predicted=202.562924, Expected=180.169373\n","hour=47, Predicted=177.069921, Expected=186.183273\n","hour=48, Predicted=185.704080, Expected=199.383789\n","hour=48, Predicted=199.449221, Expected=170.661011\n","hour=48, Predicted=167.394618, Expected=183.670319\n","hour=48, Predicted=183.721410, Expected=167.949905\n","hour=48, Predicted=165.757253, Expected=171.397018\n","hour=48, Predicted=170.720617, Expected=164.248428\n","hour=49, Predicted=162.743540, Expected=155.881729\n","hour=49, Predicted=154.280066, Expected=153.072021\n","hour=49, Predicted=151.909308, Expected=156.618057\n","hour=49, Predicted=155.949314, Expected=141.650986\n","hour=49, Predicted=139.519354, Expected=137.919647\n","hour=49, Predicted=136.684548, Expected=146.001526\n","hour=50, Predicted=145.680128, Expected=187.715744\n","hour=50, Predicted=189.838004, Expected=140.972809\n","hour=50, Predicted=136.156631, Expected=139.547180\n","hour=50, Predicted=138.492753, Expected=129.108994\n","hour=50, Predicted=127.342023, Expected=128.122192\n","hour=50, Predicted=127.102007, Expected=132.897980\n","hour=51, Predicted=132.323816, Expected=137.866653\n","hour=51, Predicted=137.307318, Expected=125.573875\n","hour=51, Predicted=123.658134, Expected=128.855545\n","hour=51, Predicted=128.166462, Expected=146.388565\n","hour=51, Predicted=146.777173, Expected=129.433960\n","hour=51, Predicted=127.140924, Expected=128.872574\n","hour=52, Predicted=127.885557, Expected=131.668411\n","hour=52, Predicted=130.941842, Expected=114.341827\n","hour=52, Predicted=112.018525, Expected=128.836563\n","hour=52, Predicted=128.998941, Expected=125.681923\n","hour=52, Predicted=124.492138, Expected=116.217293\n","hour=52, Predicted=114.528172, Expected=123.804840\n","hour=53, Predicted=123.445834, Expected=130.760025\n","hour=53, Predicted=130.352778, Expected=115.006981\n","hour=53, Predicted=112.811646, Expected=175.366989\n","hour=53, Predicted=178.747247, Expected=135.197739\n","hour=53, Predicted=130.955307, Expected=112.458359\n","hour=53, Predicted=109.690644, Expected=124.301819\n","hour=54, Predicted=124.265233, Expected=163.537415\n","hour=54, Predicted=165.487344, Expected=123.439926\n","hour=54, Predicted=119.203689, Expected=148.740662\n","hour=54, Predicted=149.698992, Expected=163.477509\n","hour=54, Predicted=163.657983, Expected=121.018311\n","hour=54, Predicted=116.577086, Expected=137.657623\n","hour=55, Predicted=137.979870, Expected=159.507919\n","hour=55, Predicted=160.214703, Expected=180.115372\n","hour=55, Predicted=180.730942, Expected=170.196213\n","hour=55, Predicted=168.470752, Expected=215.430756\n","hour=55, Predicted=217.795684, Expected=232.607452\n","hour=55, Predicted=232.969599, Expected=218.494720\n","hour=56, Predicted=216.432231, Expected=232.724747\n","hour=56, Predicted=232.867321, Expected=216.919739\n","hour=56, Predicted=214.720160, Expected=262.358765\n","hour=56, Predicted=264.737741, Expected=313.590088\n","hour=56, Predicted=316.362846, Expected=249.617065\n","hour=56, Predicted=243.250712, Expected=306.865814\n","hour=57, Predicted=310.040816, Expected=281.474701\n","hour=57, Predicted=278.486975, Expected=245.273819\n","hour=57, Predicted=241.373074, Expected=279.545807\n","hour=57, Predicted=281.146977, Expected=249.992538\n","hour=57, Predicted=246.656248, Expected=276.379669\n","hour=57, Predicted=277.416751, Expected=281.721924\n","hour=58, Predicted=281.191270, Expected=228.815308\n","hour=58, Predicted=223.452333, Expected=300.354980\n","hour=58, Predicted=304.457683, Expected=284.945282\n","hour=58, Predicted=282.777799, Expected=304.182159\n","hour=58, Predicted=304.696736, Expected=264.409943\n","hour=58, Predicted=260.201826, Expected=264.173798\n","hour=59, Predicted=263.212121, Expected=292.006744\n","hour=59, Predicted=293.148185, Expected=283.570190\n","hour=59, Predicted=281.962991, Expected=305.139557\n","hour=59, Predicted=305.825757, Expected=272.521881\n","hour=59, Predicted=268.926630, Expected=264.346924\n","hour=59, Predicted=262.760528, Expected=305.421234\n","hour=60, Predicted=307.499107, Expected=294.901886\n","hour=60, Predicted=293.128428, Expected=301.647491\n","hour=60, Predicted=301.224197, Expected=433.696106\n","hour=60, Predicted=441.321183, Expected=261.152161\n","hour=60, Predicted=243.420244, Expected=253.204224\n","hour=60, Predicted=251.635876, Expected=274.984985\n","hour=61, Predicted=275.686648, Expected=259.938080\n","hour=61, Predicted=257.800010, Expected=315.639069\n","hour=61, Predicted=318.711272, Expected=313.291809\n","hour=61, Predicted=312.165337, Expected=249.878387\n","hour=61, Predicted=243.563446, Expected=272.962860\n","hour=61, Predicted=273.759907, Expected=298.678741\n","hour=62, Predicted=299.667216, Expected=260.448303\n","hour=62, Predicted=256.373227, Expected=253.113251\n","hour=62, Predicted=251.593583, Expected=273.786224\n","hour=62, Predicted=274.406599, Expected=347.640717\n","hour=62, Predicted=351.890118, Expected=361.602692\n","hour=62, Predicted=361.725194, Expected=279.880341\n","hour=63, Predicted=271.845941, Expected=265.137787\n","hour=63, Predicted=263.024374, Expected=273.129974\n","hour=63, Predicted=272.801723, Expected=237.816925\n","hour=63, Predicted=233.992127, Expected=285.640167\n","hour=63, Predicted=288.182012, Expected=248.441177\n","hour=63, Predicted=244.454804, Expected=359.112579\n","hour=64, Predicted=365.565263, Expected=349.072052\n","hour=64, Predicted=347.336885, Expected=308.288940\n","hour=64, Predicted=303.993317, Expected=316.733276\n","hour=64, Predicted=316.439438, Expected=304.199982\n","hour=64, Predicted=302.264875, Expected=245.343567\n","hour=64, Predicted=239.444600, Expected=283.301086\n","hour=65, Predicted=285.161704, Expected=282.696747\n","hour=65, Predicted=281.706389, Expected=316.876831\n","hour=65, Predicted=318.471513, Expected=262.553741\n","hour=65, Predicted=257.063872, Expected=388.346832\n","hour=65, Predicted=395.636637, Expected=314.812927\n","hour=65, Predicted=307.557115, Expected=264.836456\n","hour=66, Predicted=259.734466, Expected=286.916260\n","hour=66, Predicted=287.639823, Expected=255.047180\n","hour=66, Predicted=251.515340, Expected=288.760681\n","hour=66, Predicted=290.322341, Expected=341.654358\n","hour=66, Predicted=344.538939, Expected=334.667664\n","hour=66, Predicted=333.175604, Expected=293.935364\n","hour=67, Predicted=289.644155, Expected=294.349823\n","hour=67, Predicted=293.438753, Expected=252.459625\n","hour=67, Predicted=248.067885, Expected=281.533905\n","hour=67, Predicted=282.764633, Expected=282.729187\n","hour=67, Predicted=281.878747, Expected=243.313843\n","hour=67, Predicted=239.136578, Expected=301.548279\n","hour=68, Predicted=304.788472, Expected=392.268127\n","hour=68, Predicted=397.556662, Expected=322.372375\n","hour=68, Predicted=315.457470, Expected=286.839691\n","hour=68, Predicted=282.996114, Expected=300.927063\n","hour=68, Predicted=301.058955, Expected=277.533325\n","hour=68, Predicted=274.711467, Expected=310.505402\n","hour=69, Predicted=312.014479, Expected=320.999176\n","hour=69, Predicted=320.860718, Expected=261.500732\n","hour=69, Predicted=255.543428, Expected=343.700195\n","hour=69, Predicted=348.470200, Expected=247.253510\n","hour=69, Predicted=237.779733, Expected=257.351410\n","hour=69, Predicted=257.183003, Expected=224.237793\n","hour=70, Predicted=220.600398, Expected=226.182693\n","hour=70, Predicted=225.390324, Expected=196.758316\n","hour=70, Predicted=193.432903, Expected=242.329330\n","hour=70, Predicted=244.717355, Expected=296.560913\n","hour=70, Predicted=299.535074, Expected=242.216797\n","hour=70, Predicted=236.725025, Expected=203.194290\n","hour=71, Predicted=199.050926, Expected=225.250381\n","hour=71, Predicted=225.972214, Expected=241.706207\n","hour=71, Predicted=242.014820, Expected=240.387299\n","hour=71, Predicted=239.341188, Expected=268.104462\n","hour=71, Predicted=269.237562, Expected=230.512238\n","hour=71, Predicted=226.492036, Expected=223.284943\n","hour=72, Predicted=221.773811, Expected=189.749451\n","hour=72, Predicted=186.076204, Expected=183.478485\n","hour=72, Predicted=182.043129, Expected=156.282806\n","hour=72, Predicted=153.144382, Expected=183.528366\n","hour=72, Predicted=184.627419, Expected=184.844513\n","hour=72, Predicted=184.003439, Expected=162.349472\n","hour=73, Predicted=159.601926, Expected=172.856735\n","hour=73, Predicted=172.719326, Expected=180.044556\n","hour=73, Predicted=179.655064, Expected=139.135529\n","hour=73, Predicted=134.829003, Expected=174.474762\n","hour=73, Predicted=176.151342, Expected=181.890320\n","hour=73, Predicted=181.518193, Expected=153.271759\n","hour=74, Predicted=150.014098, Expected=148.551971\n","hour=74, Predicted=147.239120, Expected=148.196533\n","hour=74, Predicted=147.225540, Expected=133.513840\n","hour=74, Predicted=131.405256, Expected=150.028870\n","hour=74, Predicted=150.341873, Expected=147.046844\n","hour=74, Predicted=145.870619, Expected=126.847046\n","hour=75, Predicted=124.288635, Expected=133.513779\n","hour=75, Predicted=133.084485, Expected=138.442749\n","hour=75, Predicted=137.880390, Expected=131.955765\n","hour=75, Predicted=130.503337, Expected=134.734436\n","hour=75, Predicted=134.006526, Expected=134.035278\n","hour=75, Predicted=133.037530, Expected=124.649376\n","hour=76, Predicted=122.966498, Expected=136.012024\n","hour=76, Predicted=135.939196, Expected=142.389969\n","hour=76, Predicted=141.938578, Expected=116.817680\n","hour=76, Predicted=113.814833, Expected=135.760788\n","hour=76, Predicted=136.253731, Expected=123.157852\n","hour=76, Predicted=121.217185, Expected=122.672173\n","hour=77, Predicted=121.691058, Expected=115.891197\n","hour=77, Predicted=114.415429, Expected=122.157570\n","hour=77, Predicted=121.697692, Expected=124.374771\n","hour=77, Predicted=123.603424, Expected=113.064407\n","hour=77, Predicted=111.227539, Expected=127.731247\n","hour=77, Predicted=127.906453, Expected=124.281410\n","hour=78, Predicted=123.068456, Expected=122.343910\n","hour=78, Predicted=121.249461, Expected=116.680672\n","hour=78, Predicted=115.293362, Expected=114.255379\n","hour=78, Predicted=113.122785, Expected=130.613297\n","hour=78, Predicted=130.914617, Expected=131.926819\n","hour=78, Predicted=131.085501, Expected=141.162003\n","hour=79, Predicted=140.928233, Expected=150.327194\n","hour=79, Predicted=150.088133, Expected=150.482544\n","hour=79, Predicted=149.551329, Expected=180.614731\n","hour=79, Predicted=181.921308, Expected=188.086227\n","hour=79, Predicted=187.718369, Expected=205.626602\n","hour=79, Predicted=206.015722, Expected=214.568298\n","hour=80, Predicted=214.312262, Expected=236.984039\n","hour=80, Predicted=237.732187, Expected=311.220917\n","hour=80, Predicted=315.494414, Expected=290.763184\n","hour=80, Predicted=288.183579, Expected=252.022156\n","hour=80, Predicted=247.903083, Expected=320.758148\n","hour=80, Predicted=324.681862, Expected=378.150238\n","hour=81, Predicted=381.334728, Expected=481.636139\n","hour=81, Predicted=487.677530, Expected=236.548965\n","hour=81, Predicted=209.669109, Expected=306.978760\n","hour=81, Predicted=311.010808, Expected=265.507172\n","hour=81, Predicted=261.151820, Expected=240.779556\n","hour=81, Predicted=237.846997, Expected=244.287643\n","hour=82, Predicted=243.615974, Expected=332.922150\n","hour=82, Predicted=338.085008, Expected=287.473206\n","hour=82, Predicted=282.770704, Expected=265.223114\n","hour=82, Predicted=262.495811, Expected=328.745148\n","hour=82, Predicted=332.332125, Expected=351.051636\n","hour=82, Predicted=351.791881, Expected=287.630890\n","hour=83, Predicted=281.315217, Expected=287.197205\n","hour=83, Predicted=286.220138, Expected=264.283722\n","hour=83, Predicted=261.501642, Expected=246.099197\n","hour=83, Predicted=243.705850, Expected=287.757660\n","hour=83, Predicted=289.876067, Expected=214.450851\n","hour=83, Predicted=207.216379, Expected=290.284454\n","hour=84, Predicted=294.658482, Expected=243.541443\n","hour=84, Predicted=238.725265, Expected=290.484436\n","hour=84, Predicted=292.966285, Expected=318.830566\n","hour=84, Predicted=320.008932, Expected=317.656403\n","hour=84, Predicted=316.621633, Expected=304.138214\n","hour=84, Predicted=302.123722, Expected=277.057007\n","hour=85, Predicted=273.928216, Expected=346.330811\n","hour=85, Predicted=350.288985, Expected=305.120880\n","hour=85, Predicted=300.788259, Expected=310.998169\n","hour=85, Predicted=310.508464, Expected=372.113739\n","hour=85, Predicted=375.543555, Expected=343.712219\n","hour=85, Predicted=340.472801, Expected=318.352478\n","hour=86, Predicted=315.367361, Expected=349.002350\n","hour=86, Predicted=350.345974, Expected=282.776611\n","hour=86, Predicted=276.202563, Expected=284.427612\n","hour=86, Predicted=283.612488, Expected=287.132172\n","hour=86, Predicted=286.398530, Expected=285.337860\n","hour=86, Predicted=284.254605, Expected=366.796234\n","hour=87, Predicted=371.520534, Expected=471.842072\n","hour=87, Predicted=477.973458, Expected=322.112457\n","hour=87, Predicted=307.001408, Expected=355.061829\n","hour=87, Predicted=356.569248, Expected=327.444122\n","hour=87, Predicted=324.270407, Expected=256.076050\n","hour=87, Predicted=249.023542, Expected=319.831055\n","hour=88, Predicted=323.433226, Expected=311.226471\n","hour=88, Predicted=309.605882, Expected=329.589691\n","hour=88, Predicted=330.039759, Expected=324.370270\n","hour=88, Predicted=323.018007, Expected=349.668152\n","hour=88, Predicted=350.626311, Expected=398.467926\n","hour=88, Predicted=401.076157, Expected=314.370880\n","hour=89, Predicted=306.107762, Expected=432.477570\n","hour=89, Predicted=439.346619, Expected=302.593994\n","hour=89, Predicted=289.661644, Expected=314.231628\n","hour=89, Predicted=314.179531, Expected=309.532684\n","hour=89, Predicted=308.221443, Expected=398.657379\n","hour=89, Predicted=403.849846, Expected=349.898132\n","hour=90, Predicted=344.903990, Expected=269.971161\n","hour=90, Predicted=262.108775, Expected=270.368652\n","hour=90, Predicted=269.456265, Expected=437.942474\n","hour=90, Predicted=447.354884, Expected=270.204651\n","hour=90, Predicted=253.035188, Expected=271.645874\n","hour=90, Predicted=270.814506, Expected=262.525604\n","hour=91, Predicted=260.863945, Expected=281.985657\n","hour=91, Predicted=282.516744, Expected=282.762787\n","hour=91, Predicted=281.879886, Expected=479.340118\n","hour=91, Predicted=490.073522, Expected=290.757568\n","hour=91, Predicted=271.108962, Expected=256.762634\n","hour=91, Predicted=253.050268, Expected=314.407501\n","hour=92, Predicted=317.608721, Expected=250.339920\n","hour=92, Predicted=243.964836, Expected=241.902756\n","hour=92, Predicted=240.295483, Expected=244.271011\n","hour=92, Predicted=243.511347, Expected=238.054703\n","hour=92, Predicted=236.623688, Expected=259.197937\n","hour=92, Predicted=259.852871, Expected=243.688644\n","hour=93, Predicted=241.513089, Expected=259.005859\n","hour=93, Predicted=259.229648, Expected=240.091965\n","hour=93, Predicted=237.638987, Expected=271.414032\n","hour=93, Predicted=272.805653, Expected=230.019531\n","hour=93, Predicted=225.670862, Expected=255.967758\n","hour=93, Predicted=256.973061, Expected=272.512299\n","hour=94, Predicted=272.827448, Expected=357.792603\n","hour=94, Predicted=362.751596, Expected=237.222290\n","hour=94, Predicted=225.279929, Expected=259.764587\n","hour=94, Predicted=260.522003, Expected=268.765167\n","hour=94, Predicted=268.513619, Expected=352.962006\n","hour=94, Predicted=357.854734, Expected=299.176941\n","hour=95, Predicted=293.735313, Expected=289.281311\n","hour=95, Predicted=287.557729, Expected=386.234344\n","hour=95, Predicted=391.894003, Expected=294.312439\n","hour=95, Predicted=285.286391, Expected=305.710266\n","hour=95, Predicted=305.640072, Expected=269.878754\n","hour=95, Predicted=266.009617, Expected=246.673981\n","hour=96, Predicted=243.867756, Expected=407.563049\n","hour=96, Predicted=416.653844, Expected=411.937317\n","hour=96, Predicted=411.332326, Expected=227.275192\n","hour=96, Predicted=208.100752, Expected=226.417191\n","hour=96, Predicted=225.407053, Expected=216.976501\n","hour=96, Predicted=215.289283, Expected=206.005020\n","hour=97, Predicted=204.195370, Expected=172.123276\n","hour=97, Predicted=168.420568, Expected=170.760056\n","hour=97, Predicted=169.710506, Expected=168.861221\n","hour=97, Predicted=167.769820, Expected=159.560776\n","hour=97, Predicted=157.884727, Expected=155.943054\n","hour=97, Predicted=154.716930, Expected=209.808594\n","hour=98, Predicted=212.758292, Expected=209.893219\n","hour=98, Predicted=208.956492, Expected=139.202408\n","hour=98, Predicted=132.213263, Expected=155.323242\n","hour=98, Predicted=155.606930, Expected=143.051498\n","hour=98, Predicted=141.137415, Expected=134.494843\n","hour=98, Predicted=132.878059, Expected=146.712830\n","hour=99, Predicted=146.704437, Expected=132.514542\n","hour=99, Predicted=130.445151, Expected=137.102554\n","hour=99, Predicted=136.513977, Expected=141.428085\n","hour=99, Predicted=140.819339, Expected=126.807983\n","hour=99, Predicted=124.704472, Expected=131.631287\n","hour=99, Predicted=131.060830, Expected=139.483826\n","hour=100, Predicted=139.144965, Expected=120.017540\n","hour=100, Predicted=117.519297, Expected=127.596695\n","hour=100, Predicted=127.237006, Expected=125.245529\n","hour=100, Predicted=124.118740, Expected=115.659546\n","hour=100, Predicted=113.960718, Expected=117.857323\n","hour=100, Predicted=117.084488, Expected=129.406525\n","hour=101, Predicted=129.347745, Expected=116.901215\n","hour=101, Predicted=114.968352, Expected=124.424240\n","hour=101, Predicted=124.060284, Expected=118.005714\n","hour=101, Predicted=116.558676, Expected=116.772049\n","hour=101, Predicted=115.732596, Expected=125.926559\n","hour=101, Predicted=125.686669, Expected=122.882607\n","hour=102, Predicted=121.701504, Expected=120.252579\n","hour=102, Predicted=119.103913, Expected=133.964676\n","hour=102, Predicted=134.068472, Expected=139.796432\n","hour=102, Predicted=139.303264, Expected=118.837151\n","hour=102, Predicted=116.216280, Expected=149.049942\n","hour=102, Predicted=150.362275, Expected=159.527863\n","hour=103, Predicted=159.388210, Expected=157.725723\n","hour=103, Predicted=156.641883, Expected=190.775635\n","hour=103, Predicted=192.290224, Expected=201.679230\n","hour=103, Predicted=201.571770, Expected=207.382446\n","hour=103, Predicted=206.879449, Expected=213.686768\n","hour=103, Predicted=213.229768, Expected=241.512527\n","hour=104, Predicted=242.653456, Expected=233.567383\n","hour=104, Predicted=231.999279, Expected=284.583893\n","hour=104, Predicted=287.342164, Expected=293.647369\n","hour=104, Predicted=293.400577, Expected=236.378998\n","hour=104, Predicted=230.623876, Expected=267.990692\n","hour=104, Predicted=269.402946, Expected=274.051849\n","hour=105, Predicted=273.576265, Expected=292.629852\n","hour=105, Predicted=293.095822, Expected=314.481720\n","hour=105, Predicted=315.188602, Expected=302.011536\n","hour=105, Predicted=300.081502, Expected=256.440643\n","hour=105, Predicted=251.727459, Expected=306.036591\n","hour=105, Predicted=308.698819, Expected=367.589325\n","hour=106, Predicted=371.047798, Expected=289.880707\n","hour=106, Predicted=282.229869, Expected=339.006439\n","hour=106, Predicted=341.636791, Expected=336.065491\n","hour=106, Predicted=334.892485, Expected=436.302795\n","hour=106, Predicted=442.155320, Expected=302.990875\n","hour=106, Predicted=289.688888, Expected=322.268311\n","hour=107, Predicted=322.785935, Expected=308.984772\n","hour=107, Predicted=306.989230, Expected=261.814667\n","hour=107, Predicted=256.960857, Expected=270.937256\n","hour=107, Predicted=270.694975, Expected=262.768829\n","hour=107, Predicted=261.182946, Expected=301.025146\n","hour=107, Predicted=302.906641, Expected=294.695557\n","hour=108, Predicted=293.255591, Expected=296.899658\n","hour=108, Predicted=296.127311, Expected=275.198120\n","hour=108, Predicted=272.516107, Expected=268.536713\n","hour=108, Predicted=267.070481, Expected=307.071472\n","hour=108, Predicted=308.972478, Expected=410.775970\n","hour=108, Predicted=416.829971, Expected=391.514771\n","hour=109, Predicted=389.033355, Expected=333.908478\n","hour=109, Predicted=328.122773, Expected=303.223816\n","hour=109, Predicted=299.792165, Expected=264.064453\n","hour=109, Predicted=259.909285, Expected=278.454346\n","hour=109, Predicted=278.608895, Expected=331.505249\n","hour=109, Predicted=334.400366, Expected=307.637329\n","hour=110, Predicted=304.776132, Expected=292.598602\n","hour=110, Predicted=290.461191, Expected=351.101837\n","hour=110, Predicted=354.359810, Expected=361.863190\n","hour=110, Predicted=361.744950, Expected=295.459991\n","hour=110, Predicted=288.869505, Expected=271.981842\n","hour=110, Predicted=269.152984, Expected=346.310089\n","hour=111, Predicted=350.589391, Expected=337.872894\n","hour=111, Predicted=336.265622, Expected=421.751923\n","hour=111, Predicted=426.625189, Expected=330.241486\n","hour=111, Predicted=321.255875, Expected=369.093842\n","hour=111, Predicted=371.017041, Expected=337.267975\n","hour=111, Predicted=333.739817, Expected=268.156006\n","hour=112, Predicted=261.314169, Expected=306.118561\n","hour=112, Predicted=307.979520, Expected=330.172821\n","hour=112, Predicted=331.040596, Expected=304.563141\n","hour=112, Predicted=301.557172, Expected=334.786011\n","hour=112, Predicted=336.099051, Expected=314.614868\n","hour=112, Predicted=312.058823, Expected=326.903931\n","hour=113, Predicted=326.900855, Expected=327.267883\n","hour=113, Predicted=326.352911, Expected=301.682800\n","hour=113, Predicted=298.678880, Expected=365.119049\n","hour=113, Predicted=368.700417, Expected=274.652405\n","hour=113, Predicted=265.769324, Expected=258.647583\n","hour=113, Predicted=256.431835, Expected=311.631622\n","hour=114, Predicted=314.522251, Expected=299.786194\n","hour=114, Predicted=297.906401, Expected=229.500122\n","hour=114, Predicted=222.548804, Expected=277.432037\n","hour=114, Predicted=279.981297, Expected=273.377258\n","hour=114, Predicted=272.116746, Expected=274.909241\n","hour=114, Predicted=274.084897, Expected=275.076233\n","hour=115, Predicted=274.145944, Expected=329.824982\n","hour=115, Predicted=332.833677, Expected=294.834015\n","hour=115, Predicted=291.036727, Expected=264.246826\n","hour=115, Predicted=260.823419, Expected=261.551971\n","hour=115, Predicted=260.398282, Expected=253.937958\n","hour=115, Predicted=252.396120, Expected=263.393555\n","hour=116, Predicted=263.176492, Expected=272.553741\n","hour=116, Predicted=272.314265, Expected=245.151367\n","hour=116, Predicted=241.995675, Expected=247.001709\n","hour=116, Predicted=246.202022, Expected=226.058929\n","hour=116, Predicted=223.439425, Expected=378.102081\n","hour=116, Predicted=386.756975, Expected=235.856537\n","hour=117, Predicted=221.578145, Expected=203.545456\n","hour=117, Predicted=199.976203, Expected=240.923553\n","hour=117, Predicted=242.743539, Expected=255.913467\n","hour=117, Predicted=256.112867, Expected=240.966675\n","hour=117, Predicted=238.836702, Expected=219.774551\n","hour=117, Predicted=217.134487, Expected=236.384979\n","hour=118, Predicted=236.705079, Expected=209.405762\n","hour=118, Predicted=206.285482, Expected=249.924347\n","hour=118, Predicted=251.963637, Expected=288.877045\n","hour=118, Predicted=290.807219, Expected=257.197876\n","hour=118, Predicted=253.682157, Expected=298.592346\n","hour=118, Predicted=300.692462, Expected=328.448181\n","hour=119, Predicted=329.734955, Expected=259.023102\n","hour=119, Predicted=252.152096, Expected=232.109680\n","hour=119, Predicted=228.994888, Expected=287.042694\n","hour=119, Predicted=290.063706, Expected=268.860168\n","hour=119, Predicted=266.466968, Expected=316.825775\n","hour=119, Predicted=319.377303, Expected=269.391113\n"]}]},{"cell_type":"markdown","metadata":{"id":"KPXC2j2qnD-e"},"source":["Generate proper data with 1 data shift"]},{"cell_type":"code","metadata":{"id":"WhGPEzk4nD-e","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632781628678,"user_tz":-120,"elapsed":709,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"0f644987-9b95-4c43-b50a-daad29ad9070"},"source":["# walk-forward validation on the training data\n","X_train = list()\n","y_train = list()\n","\n","X_train.append(train_scaled[len(train_scaled)-1, 0:-1][0])\n","y_train.append(train_scaled[0, 0:-1][0])\n","\n","for i in range(1,len(train_scaled)):\n","\t# make one-step forecast\n","    X_train.append(train_scaled[i-1, 0:-1][0])\n","    y_train.append(train_scaled[i, 0:-1][0])\n","    \n","for i in range(len(train_scaled)):\n","\tprint('X_train=%f, y_train=%f' % (X_train[i], y_train[i]))"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["X_train=0.447637, y_train=0.443775\n","X_train=0.443775, y_train=0.489216\n","X_train=0.489216, y_train=0.419188\n","X_train=0.419188, y_train=0.433686\n","X_train=0.433686, y_train=0.419556\n","X_train=0.419556, y_train=0.454473\n","X_train=0.454473, y_train=0.524359\n","X_train=0.524359, y_train=0.354362\n","X_train=0.354362, y_train=0.452008\n","X_train=0.452008, y_train=0.424531\n","X_train=0.424531, y_train=0.437975\n","X_train=0.437975, y_train=0.451010\n","X_train=0.451010, y_train=0.425360\n","X_train=0.425360, y_train=0.434361\n","X_train=0.434361, y_train=0.446799\n","X_train=0.446799, y_train=0.438043\n","X_train=0.438043, y_train=0.429177\n","X_train=0.429177, y_train=0.451676\n","X_train=0.451676, y_train=0.430366\n","X_train=0.430366, y_train=0.432408\n","X_train=0.432408, y_train=0.453686\n","X_train=0.453686, y_train=0.546044\n","X_train=0.546044, y_train=0.363016\n","X_train=0.363016, y_train=0.417084\n","X_train=0.417084, y_train=0.454731\n","X_train=0.454731, y_train=0.424067\n","X_train=0.424067, y_train=0.442697\n","X_train=0.442697, y_train=0.464402\n","X_train=0.464402, y_train=0.419116\n","X_train=0.419116, y_train=0.451967\n","X_train=0.451967, y_train=0.459403\n","X_train=0.459403, y_train=0.417189\n","X_train=0.417189, y_train=0.448556\n","X_train=0.448556, y_train=0.458490\n","X_train=0.458490, y_train=0.429267\n","X_train=0.429267, y_train=0.462623\n","X_train=0.462623, y_train=0.449962\n","X_train=0.449962, y_train=0.436874\n","X_train=0.436874, y_train=0.463858\n","X_train=0.463858, y_train=0.465505\n","X_train=0.465505, y_train=0.430067\n","X_train=0.430067, y_train=0.453198\n","X_train=0.453198, y_train=0.458870\n","X_train=0.458870, y_train=0.449517\n","X_train=0.449517, y_train=0.456151\n","X_train=0.456151, y_train=0.491581\n","X_train=0.491581, y_train=0.461470\n","X_train=0.461470, y_train=0.456447\n","X_train=0.456447, y_train=0.404350\n","X_train=0.404350, y_train=0.453728\n","X_train=0.453728, y_train=0.458764\n","X_train=0.458764, y_train=0.464330\n","X_train=0.464330, y_train=0.428492\n","X_train=0.428492, y_train=0.448895\n","X_train=0.448895, y_train=0.487433\n","X_train=0.487433, y_train=0.379838\n","X_train=0.379838, y_train=0.416448\n","X_train=0.416448, y_train=0.450520\n","X_train=0.450520, y_train=0.569902\n","X_train=0.569902, y_train=0.508669\n","X_train=0.508669, y_train=0.337551\n","X_train=0.337551, y_train=0.415518\n","X_train=0.415518, y_train=0.452273\n","X_train=0.452273, y_train=0.497205\n","X_train=0.497205, y_train=0.432486\n","X_train=0.432486, y_train=0.401514\n","X_train=0.401514, y_train=0.433495\n","X_train=0.433495, y_train=0.448031\n","X_train=0.448031, y_train=0.503116\n","X_train=0.503116, y_train=0.459394\n","X_train=0.459394, y_train=0.353092\n","X_train=0.353092, y_train=0.469850\n","X_train=0.469850, y_train=0.426963\n","X_train=0.426963, y_train=0.520422\n","X_train=0.520422, y_train=0.415824\n","X_train=0.415824, y_train=0.444211\n","X_train=0.444211, y_train=0.404070\n","X_train=0.404070, y_train=0.483474\n","X_train=0.483474, y_train=0.390633\n","X_train=0.390633, y_train=0.455711\n","X_train=0.455711, y_train=0.478688\n","X_train=0.478688, y_train=0.440301\n","X_train=0.440301, y_train=0.471184\n","X_train=0.471184, y_train=0.423182\n","X_train=0.423182, y_train=0.572462\n","X_train=0.572462, y_train=0.316780\n","X_train=0.316780, y_train=0.472100\n","X_train=0.472100, y_train=0.492030\n","X_train=0.492030, y_train=0.400369\n","X_train=0.400369, y_train=0.377097\n","X_train=0.377097, y_train=0.442082\n","X_train=0.442082, y_train=0.468849\n","X_train=0.468849, y_train=0.415003\n","X_train=0.415003, y_train=0.444603\n","X_train=0.444603, y_train=0.414732\n","X_train=0.414732, y_train=0.457545\n","X_train=0.457545, y_train=0.438639\n","X_train=0.438639, y_train=0.521662\n","X_train=0.521662, y_train=0.379782\n","X_train=0.379782, y_train=0.461636\n","X_train=0.461636, y_train=0.483369\n","X_train=0.483369, y_train=0.393846\n","X_train=0.393846, y_train=0.423507\n","X_train=0.423507, y_train=0.501966\n","X_train=0.501966, y_train=0.440382\n","X_train=0.440382, y_train=0.401538\n","X_train=0.401538, y_train=0.455535\n","X_train=0.455535, y_train=0.482991\n","X_train=0.482991, y_train=0.493780\n","X_train=0.493780, y_train=0.371549\n","X_train=0.371549, y_train=0.448560\n","X_train=0.448560, y_train=0.409784\n","X_train=0.409784, y_train=0.463947\n","X_train=0.463947, y_train=0.422417\n","X_train=0.422417, y_train=0.473614\n","X_train=0.473614, y_train=0.505868\n","X_train=0.505868, y_train=0.371227\n","X_train=0.371227, y_train=0.443116\n","X_train=0.443116, y_train=0.495337\n","X_train=0.495337, y_train=0.461952\n","X_train=0.461952, y_train=0.435981\n","X_train=0.435981, y_train=0.439203\n","X_train=0.439203, y_train=0.371434\n","X_train=0.371434, y_train=0.477987\n","X_train=0.477987, y_train=0.451702\n","X_train=0.451702, y_train=0.402400\n","X_train=0.402400, y_train=0.513984\n","X_train=0.513984, y_train=0.361616\n","X_train=0.361616, y_train=0.425581\n","X_train=0.425581, y_train=0.558412\n","X_train=0.558412, y_train=0.365561\n","X_train=0.365561, y_train=0.429750\n","X_train=0.429750, y_train=0.430415\n","X_train=0.430415, y_train=0.442519\n","X_train=0.442519, y_train=0.428125\n","X_train=0.428125, y_train=0.468035\n","X_train=0.468035, y_train=0.463393\n","X_train=0.463393, y_train=0.389918\n","X_train=0.389918, y_train=0.445950\n","X_train=0.445950, y_train=0.429971\n","X_train=0.429971, y_train=0.448070\n","X_train=0.448070, y_train=0.422941\n","X_train=0.422941, y_train=0.495144\n","X_train=0.495144, y_train=0.446120\n","X_train=0.446120, y_train=0.406076\n","X_train=0.406076, y_train=0.394457\n","X_train=0.394457, y_train=0.452575\n","X_train=0.452575, y_train=0.423829\n","X_train=0.423829, y_train=0.450406\n","X_train=0.450406, y_train=0.426543\n","X_train=0.426543, y_train=0.445435\n","X_train=0.445435, y_train=0.434028\n","X_train=0.434028, y_train=0.452015\n","X_train=0.452015, y_train=0.441648\n","X_train=0.441648, y_train=0.438611\n","X_train=0.438611, y_train=0.437818\n","X_train=0.437818, y_train=0.447212\n","X_train=0.447212, y_train=0.450681\n","X_train=0.450681, y_train=0.424568\n","X_train=0.424568, y_train=0.432715\n","X_train=0.432715, y_train=0.467105\n","X_train=0.467105, y_train=0.418617\n","X_train=0.418617, y_train=0.453420\n","X_train=0.453420, y_train=0.450292\n","X_train=0.450292, y_train=0.424389\n","X_train=0.424389, y_train=0.450889\n","X_train=0.450889, y_train=0.447542\n","X_train=0.447542, y_train=0.427548\n","X_train=0.427548, y_train=0.448324\n","X_train=0.448324, y_train=0.453727\n","X_train=0.453727, y_train=0.435115\n","X_train=0.435115, y_train=0.443164\n","X_train=0.443164, y_train=0.442963\n","X_train=0.442963, y_train=0.443596\n","X_train=0.443596, y_train=0.451633\n","X_train=0.451633, y_train=0.441483\n","X_train=0.441483, y_train=0.435208\n","X_train=0.435208, y_train=0.455907\n","X_train=0.455907, y_train=0.444114\n","X_train=0.444114, y_train=0.451570\n","X_train=0.451570, y_train=0.482970\n","X_train=0.482970, y_train=0.431318\n","X_train=0.431318, y_train=0.444982\n","X_train=0.444982, y_train=0.462482\n","X_train=0.462482, y_train=0.459573\n","X_train=0.459573, y_train=0.580987\n","X_train=0.580987, y_train=0.309559\n","X_train=0.309559, y_train=0.465855\n","X_train=0.465855, y_train=0.472242\n","X_train=0.472242, y_train=0.452489\n","X_train=0.452489, y_train=0.502143\n","X_train=0.502143, y_train=0.486466\n","X_train=0.486466, y_train=0.403167\n","X_train=0.403167, y_train=0.470252\n","X_train=0.470252, y_train=0.445714\n","X_train=0.445714, y_train=0.449084\n","X_train=0.449084, y_train=0.466735\n","X_train=0.466735, y_train=0.414339\n","X_train=0.414339, y_train=0.513942\n","X_train=0.513942, y_train=0.386462\n","X_train=0.386462, y_train=0.416167\n","X_train=0.416167, y_train=0.392648\n","X_train=0.392648, y_train=0.552463\n","X_train=0.552463, y_train=0.402624\n","X_train=0.402624, y_train=0.509517\n","X_train=0.509517, y_train=0.395051\n","X_train=0.395051, y_train=0.446710\n","X_train=0.446710, y_train=0.426127\n","X_train=0.426127, y_train=0.480011\n","X_train=0.480011, y_train=0.359642\n","X_train=0.359642, y_train=0.421009\n","X_train=0.421009, y_train=0.476308\n","X_train=0.476308, y_train=0.428601\n","X_train=0.428601, y_train=0.450837\n","X_train=0.450837, y_train=0.632295\n","X_train=0.632295, y_train=0.307421\n","X_train=0.307421, y_train=0.378177\n","X_train=0.378177, y_train=0.477309\n","X_train=0.477309, y_train=0.455915\n","X_train=0.455915, y_train=0.478041\n","X_train=0.478041, y_train=0.457949\n","X_train=0.457949, y_train=0.375815\n","X_train=0.375815, y_train=0.467838\n","X_train=0.467838, y_train=0.412703\n","X_train=0.412703, y_train=0.418438\n","X_train=0.418438, y_train=0.468524\n","X_train=0.468524, y_train=0.459470\n","X_train=0.459470, y_train=0.510538\n","X_train=0.510538, y_train=0.478221\n","X_train=0.478221, y_train=0.378508\n","X_train=0.378508, y_train=0.459282\n","X_train=0.459282, y_train=0.452649\n","X_train=0.452649, y_train=0.377594\n","X_train=0.377594, y_train=0.468281\n","X_train=0.468281, y_train=0.390075\n","X_train=0.390075, y_train=0.467467\n","X_train=0.467467, y_train=0.515844\n","X_train=0.515844, y_train=0.389321\n","X_train=0.389321, y_train=0.462715\n","X_train=0.462715, y_train=0.559227\n","X_train=0.559227, y_train=0.426239\n","X_train=0.426239, y_train=0.408382\n","X_train=0.408382, y_train=0.464048\n","X_train=0.464048, y_train=0.442218\n","X_train=0.442218, y_train=0.368338\n","X_train=0.368338, y_train=0.414836\n","X_train=0.414836, y_train=0.430670\n","X_train=0.430670, y_train=0.466063\n","X_train=0.466063, y_train=0.382896\n","X_train=0.382896, y_train=0.445672\n","X_train=0.445672, y_train=0.489016\n","X_train=0.489016, y_train=0.429179\n","X_train=0.429179, y_train=0.454914\n","X_train=0.454914, y_train=0.449020\n","X_train=0.449020, y_train=0.413517\n","X_train=0.413517, y_train=0.473172\n","X_train=0.473172, y_train=0.473400\n","X_train=0.473400, y_train=0.390653\n","X_train=0.390653, y_train=0.462445\n","X_train=0.462445, y_train=0.500478\n","X_train=0.500478, y_train=0.474557\n","X_train=0.474557, y_train=0.319738\n","X_train=0.319738, y_train=0.537710\n","X_train=0.537710, y_train=0.371461\n","X_train=0.371461, y_train=0.449224\n","X_train=0.449224, y_train=0.447556\n","X_train=0.447556, y_train=0.529283\n","X_train=0.529283, y_train=0.375612\n","X_train=0.375612, y_train=0.407068\n","X_train=0.407068, y_train=0.402077\n","X_train=0.402077, y_train=0.484377\n","X_train=0.484377, y_train=0.429312\n","X_train=0.429312, y_train=0.465016\n","X_train=0.465016, y_train=0.464646\n","X_train=0.464646, y_train=0.391319\n","X_train=0.391319, y_train=0.401051\n","X_train=0.401051, y_train=0.453887\n","X_train=0.453887, y_train=0.626212\n","X_train=0.626212, y_train=0.284917\n","X_train=0.284917, y_train=0.424840\n","X_train=0.424840, y_train=0.491347\n","X_train=0.491347, y_train=0.392741\n","X_train=0.392741, y_train=0.497102\n","X_train=0.497102, y_train=0.400795\n","X_train=0.400795, y_train=0.409041\n","X_train=0.409041, y_train=0.455748\n","X_train=0.455748, y_train=0.425951\n","X_train=0.425951, y_train=0.449969\n","X_train=0.449969, y_train=0.420459\n","X_train=0.420459, y_train=0.446319\n","X_train=0.446319, y_train=0.432036\n","X_train=0.432036, y_train=0.472124\n","X_train=0.472124, y_train=0.417826\n","X_train=0.417826, y_train=0.431642\n","X_train=0.431642, y_train=0.457347\n","X_train=0.457347, y_train=0.438252\n","X_train=0.438252, y_train=0.429612\n","X_train=0.429612, y_train=0.428440\n","X_train=0.428440, y_train=0.456939\n","X_train=0.456939, y_train=0.444230\n","X_train=0.444230, y_train=0.451323\n","X_train=0.451323, y_train=0.430753\n","X_train=0.430753, y_train=0.448421\n","X_train=0.448421, y_train=0.423830\n","X_train=0.423830, y_train=0.458113\n","X_train=0.458113, y_train=0.506441\n","X_train=0.506441, y_train=0.410797\n","X_train=0.410797, y_train=0.408721\n","X_train=0.408721, y_train=0.431203\n","X_train=0.431203, y_train=0.439745\n","X_train=0.439745, y_train=0.455886\n","X_train=0.455886, y_train=0.442584\n","X_train=0.442584, y_train=0.423910\n","X_train=0.423910, y_train=0.458163\n","X_train=0.458163, y_train=0.434379\n","X_train=0.434379, y_train=0.439536\n","X_train=0.439536, y_train=0.445602\n","X_train=0.445602, y_train=0.441041\n","X_train=0.441041, y_train=0.438767\n","X_train=0.438767, y_train=0.449536\n","X_train=0.449536, y_train=0.444530\n","X_train=0.444530, y_train=0.434806\n","X_train=0.434806, y_train=0.453976\n","X_train=0.453976, y_train=0.435900\n","X_train=0.435900, y_train=0.440971\n","X_train=0.440971, y_train=0.454677\n","X_train=0.454677, y_train=0.440296\n","X_train=0.440296, y_train=0.446666\n","X_train=0.446666, y_train=0.474499\n","X_train=0.474499, y_train=0.442054\n","X_train=0.442054, y_train=0.461812\n","X_train=0.461812, y_train=0.471164\n","X_train=0.471164, y_train=0.455248\n","X_train=0.455248, y_train=0.499025\n","X_train=0.499025, y_train=0.458987\n","X_train=0.458987, y_train=0.401232\n","X_train=0.401232, y_train=0.540502\n","X_train=0.540502, y_train=0.385599\n","X_train=0.385599, y_train=0.460345\n","X_train=0.460345, y_train=0.473753\n","X_train=0.473753, y_train=0.425836\n","X_train=0.425836, y_train=0.463621\n","X_train=0.463621, y_train=0.435997\n","X_train=0.435997, y_train=0.543151\n","X_train=0.543151, y_train=0.352321\n","X_train=0.352321, y_train=0.419145\n","X_train=0.419145, y_train=0.466714\n","X_train=0.466714, y_train=0.488617\n","X_train=0.488617, y_train=0.397973\n","X_train=0.397973, y_train=0.481329\n","X_train=0.481329, y_train=0.558369\n","X_train=0.558369, y_train=0.488783\n","X_train=0.488783, y_train=0.393066\n","X_train=0.393066, y_train=0.352282\n","X_train=0.352282, y_train=0.381908\n","X_train=0.381908, y_train=0.438645\n","X_train=0.438645, y_train=0.470049\n","X_train=0.470049, y_train=0.480415\n","X_train=0.480415, y_train=0.433241\n","X_train=0.433241, y_train=0.395785\n","X_train=0.395785, y_train=0.413458\n","X_train=0.413458, y_train=0.534251\n","X_train=0.534251, y_train=0.433986\n","X_train=0.433986, y_train=0.372554\n","X_train=0.372554, y_train=0.473450\n","X_train=0.473450, y_train=0.429870\n","X_train=0.429870, y_train=0.474788\n","X_train=0.474788, y_train=0.489121\n","X_train=0.489121, y_train=0.374378\n","X_train=0.374378, y_train=0.458623\n","X_train=0.458623, y_train=0.473260\n","X_train=0.473260, y_train=0.406402\n","X_train=0.406402, y_train=0.426924\n","X_train=0.426924, y_train=0.466979\n","X_train=0.466979, y_train=0.447737\n","X_train=0.447737, y_train=0.463410\n","X_train=0.463410, y_train=0.414064\n","X_train=0.414064, y_train=0.425257\n","X_train=0.425257, y_train=0.499889\n","X_train=0.499889, y_train=0.417201\n","X_train=0.417201, y_train=0.473869\n","X_train=0.473869, y_train=0.377215\n","X_train=0.377215, y_train=0.468600\n","X_train=0.468600, y_train=0.483473\n","X_train=0.483473, y_train=0.385386\n","X_train=0.385386, y_train=0.439938\n","X_train=0.439938, y_train=0.450952\n","X_train=0.450952, y_train=0.452352\n","X_train=0.452352, y_train=0.502484\n","X_train=0.502484, y_train=0.380638\n","X_train=0.380638, y_train=0.402064\n","X_train=0.402064, y_train=0.483714\n","X_train=0.483714, y_train=0.462845\n","X_train=0.462845, y_train=0.441498\n","X_train=0.441498, y_train=0.458883\n","X_train=0.458883, y_train=0.430923\n","X_train=0.430923, y_train=0.515855\n","X_train=0.515855, y_train=0.368547\n","X_train=0.368547, y_train=0.543912\n","X_train=0.543912, y_train=0.380145\n","X_train=0.380145, y_train=0.439388\n","X_train=0.439388, y_train=0.488863\n","X_train=0.488863, y_train=0.338702\n","X_train=0.338702, y_train=0.534203\n","X_train=0.534203, y_train=0.374376\n","X_train=0.374376, y_train=0.433072\n","X_train=0.433072, y_train=0.455709\n","X_train=0.455709, y_train=0.515943\n","X_train=0.515943, y_train=0.405193\n","X_train=0.405193, y_train=0.514968\n","X_train=0.514968, y_train=0.358383\n","X_train=0.358383, y_train=0.369965\n","X_train=0.369965, y_train=0.510870\n","X_train=0.510870, y_train=0.450069\n","X_train=0.450069, y_train=0.460262\n","X_train=0.460262, y_train=0.412227\n","X_train=0.412227, y_train=0.445826\n","X_train=0.445826, y_train=0.419240\n","X_train=0.419240, y_train=0.452691\n","X_train=0.452691, y_train=0.389816\n","X_train=0.389816, y_train=0.460427\n","X_train=0.460427, y_train=0.398059\n","X_train=0.398059, y_train=0.479649\n","X_train=0.479649, y_train=0.440993\n","X_train=0.440993, y_train=0.515158\n","X_train=0.515158, y_train=0.369043\n","X_train=0.369043, y_train=0.441411\n","X_train=0.441411, y_train=0.449535\n","X_train=0.449535, y_train=0.464076\n","X_train=0.464076, y_train=0.423979\n","X_train=0.423979, y_train=0.479276\n","X_train=0.479276, y_train=0.406986\n","X_train=0.406986, y_train=0.433635\n","X_train=0.433635, y_train=0.425671\n","X_train=0.425671, y_train=0.450783\n","X_train=0.450783, y_train=0.392955\n","X_train=0.392955, y_train=0.440268\n","X_train=0.440268, y_train=0.462214\n","X_train=0.462214, y_train=0.421788\n","X_train=0.421788, y_train=0.448173\n","X_train=0.448173, y_train=0.446858\n","X_train=0.446858, y_train=0.420140\n","X_train=0.420140, y_train=0.447247\n","X_train=0.447247, y_train=0.454692\n","X_train=0.454692, y_train=0.430596\n","X_train=0.430596, y_train=0.432551\n","X_train=0.432551, y_train=0.466936\n","X_train=0.466936, y_train=0.419745\n","X_train=0.419745, y_train=0.429996\n","X_train=0.429996, y_train=0.470961\n","X_train=0.470961, y_train=0.430299\n","X_train=0.430299, y_train=0.422722\n","X_train=0.422722, y_train=0.462298\n","X_train=0.462298, y_train=0.428662\n","X_train=0.428662, y_train=0.441547\n","X_train=0.441547, y_train=0.451809\n","X_train=0.451809, y_train=0.438465\n","X_train=0.438465, y_train=0.438313\n","X_train=0.438313, y_train=0.446980\n","X_train=0.446980, y_train=0.439194\n","X_train=0.439194, y_train=0.445146\n","X_train=0.445146, y_train=0.444763\n","X_train=0.444763, y_train=0.430299\n","X_train=0.430299, y_train=0.439452\n","X_train=0.439452, y_train=0.456828\n","X_train=0.456828, y_train=0.451683\n","X_train=0.451683, y_train=0.433832\n","X_train=0.433832, y_train=0.480284\n","X_train=0.480284, y_train=0.422886\n","X_train=0.422886, y_train=0.436972\n","X_train=0.436972, y_train=0.473760\n","X_train=0.473760, y_train=0.466549\n","X_train=0.466549, y_train=0.460954\n","X_train=0.460954, y_train=0.471136\n","X_train=0.471136, y_train=0.420842\n","X_train=0.420842, y_train=0.485001\n","X_train=0.485001, y_train=0.514616\n","X_train=0.514616, y_train=0.364850\n","X_train=0.364850, y_train=0.523578\n","X_train=0.523578, y_train=0.472770\n","X_train=0.472770, y_train=0.424025\n","X_train=0.424025, y_train=0.389948\n","X_train=0.389948, y_train=0.519289\n","X_train=0.519289, y_train=0.405301\n","X_train=0.405301, y_train=0.444972\n","X_train=0.444972, y_train=0.462618\n","X_train=0.462618, y_train=0.449649\n","X_train=0.449649, y_train=0.429018\n","X_train=0.429018, y_train=0.488092\n","X_train=0.488092, y_train=0.411748\n","X_train=0.411748, y_train=0.407329\n","X_train=0.407329, y_train=0.495226\n","X_train=0.495226, y_train=0.418003\n","X_train=0.418003, y_train=0.464391\n","X_train=0.464391, y_train=0.415910\n","X_train=0.415910, y_train=0.429557\n","X_train=0.429557, y_train=0.473549\n","X_train=0.473549, y_train=0.464086\n","X_train=0.464086, y_train=0.371021\n","X_train=0.371021, y_train=0.438895\n","X_train=0.438895, y_train=0.445571\n","X_train=0.445571, y_train=0.486520\n","X_train=0.486520, y_train=0.429229\n","X_train=0.429229, y_train=0.442466\n","X_train=0.442466, y_train=0.456121\n","X_train=0.456121, y_train=0.463651\n","X_train=0.463651, y_train=0.438788\n","X_train=0.438788, y_train=0.448907\n","X_train=0.448907, y_train=0.423804\n","X_train=0.423804, y_train=0.471498\n","X_train=0.471498, y_train=0.436127\n","X_train=0.436127, y_train=0.396837\n","X_train=0.396837, y_train=0.477605\n","X_train=0.477605, y_train=0.448661\n","X_train=0.448661, y_train=0.469491\n","X_train=0.469491, y_train=0.416485\n","X_train=0.416485, y_train=0.433133\n","X_train=0.433133, y_train=0.464465\n","X_train=0.464465, y_train=0.469356\n","X_train=0.469356, y_train=0.422454\n","X_train=0.422454, y_train=0.439348\n","X_train=0.439348, y_train=0.431556\n","X_train=0.431556, y_train=0.555353\n","X_train=0.555353, y_train=0.332836\n","X_train=0.332836, y_train=0.428939\n","X_train=0.428939, y_train=0.491123\n","X_train=0.491123, y_train=0.457465\n","X_train=0.457465, y_train=0.427414\n","X_train=0.427414, y_train=0.415262\n","X_train=0.415262, y_train=0.457493\n","X_train=0.457493, y_train=0.482773\n","X_train=0.482773, y_train=0.900000\n","X_train=0.900000, y_train=0.159490\n","X_train=0.159490, y_train=0.337285\n","X_train=0.337285, y_train=0.324344\n","X_train=0.324344, y_train=0.443600\n","X_train=0.443600, y_train=0.455038\n","X_train=0.455038, y_train=0.422083\n","X_train=0.422083, y_train=0.503395\n","X_train=0.503395, y_train=0.389896\n","X_train=0.389896, y_train=0.433116\n","X_train=0.433116, y_train=0.500042\n","X_train=0.500042, y_train=0.405458\n","X_train=0.405458, y_train=0.455479\n","X_train=0.455479, y_train=0.392708\n","X_train=0.392708, y_train=0.457996\n","X_train=0.457996, y_train=0.463055\n","X_train=0.463055, y_train=0.404659\n","X_train=0.404659, y_train=0.468053\n","X_train=0.468053, y_train=0.414383\n","X_train=0.414383, y_train=0.453781\n","X_train=0.453781, y_train=0.421757\n","X_train=0.421757, y_train=0.460599\n","X_train=0.460599, y_train=0.463472\n","X_train=0.463472, y_train=0.501267\n","X_train=0.501267, y_train=0.319374\n","X_train=0.319374, y_train=0.480064\n","X_train=0.480064, y_train=0.448136\n","X_train=0.448136, y_train=0.443199\n","X_train=0.443199, y_train=0.437853\n","X_train=0.437853, y_train=0.467214\n","X_train=0.467214, y_train=0.440042\n","X_train=0.440042, y_train=0.451741\n","X_train=0.451741, y_train=0.434681\n","X_train=0.434681, y_train=0.448987\n","X_train=0.448987, y_train=0.464857\n","X_train=0.464857, y_train=0.461278\n","X_train=0.461278, y_train=0.426324\n","X_train=0.426324, y_train=0.395232\n","X_train=0.395232, y_train=0.464919\n","X_train=0.464919, y_train=0.432196\n","X_train=0.432196, y_train=0.404736\n","X_train=0.404736, y_train=0.440937\n","X_train=0.440937, y_train=0.519817\n","X_train=0.519817, y_train=0.366126\n","X_train=0.366126, y_train=0.423649\n","X_train=0.423649, y_train=0.436291\n","X_train=0.436291, y_train=0.454438\n","X_train=0.454438, y_train=0.449704\n","X_train=0.449704, y_train=0.425911\n","X_train=0.425911, y_train=0.424069\n","X_train=0.424069, y_train=0.417327\n","X_train=0.417327, y_train=0.552501\n","X_train=0.552501, y_train=0.346532\n","X_train=0.346532, y_train=0.454194\n","X_train=0.454194, y_train=0.518673\n","X_train=0.518673, y_train=0.357821\n","X_train=0.357821, y_train=0.467941\n","X_train=0.467941, y_train=0.413538\n","X_train=0.413538, y_train=0.431696\n","X_train=0.431696, y_train=0.501897\n","X_train=0.501897, y_train=0.386683\n","X_train=0.386683, y_train=0.476111\n","X_train=0.476111, y_train=0.478931\n","X_train=0.478931, y_train=0.383882\n","X_train=0.383882, y_train=0.471538\n","X_train=0.471538, y_train=0.390465\n","X_train=0.390465, y_train=0.430387\n","X_train=0.430387, y_train=0.432682\n","X_train=0.432682, y_train=0.443693\n","X_train=0.443693, y_train=0.457702\n","X_train=0.457702, y_train=0.423363\n","X_train=0.423363, y_train=0.451804\n","X_train=0.451804, y_train=0.456021\n","X_train=0.456021, y_train=0.422329\n","X_train=0.422329, y_train=0.467402\n","X_train=0.467402, y_train=0.440189\n","X_train=0.440189, y_train=0.431859\n","X_train=0.431859, y_train=0.449257\n","X_train=0.449257, y_train=0.453666\n","X_train=0.453666, y_train=0.422897\n","X_train=0.422897, y_train=0.458488\n","X_train=0.458488, y_train=0.448699\n","X_train=0.448699, y_train=0.424001\n","X_train=0.424001, y_train=0.476649\n","X_train=0.476649, y_train=0.446901\n","X_train=0.446901, y_train=0.439437\n","X_train=0.439437, y_train=0.484797\n","X_train=0.484797, y_train=0.430869\n","X_train=0.430869, y_train=0.466292\n","X_train=0.466292, y_train=0.528284\n","X_train=0.528284, y_train=0.422219\n","X_train=0.422219, y_train=0.486180\n","X_train=0.486180, y_train=0.487126\n","X_train=0.487126, y_train=0.453501\n","X_train=0.453501, y_train=0.364016\n","X_train=0.364016, y_train=0.479413\n","X_train=0.479413, y_train=0.451415\n","X_train=0.451415, y_train=0.432242\n","X_train=0.432242, y_train=0.449072\n","X_train=0.449072, y_train=0.505214\n","X_train=0.505214, y_train=0.506668\n","X_train=0.506668, y_train=0.399100\n","X_train=0.399100, y_train=0.336966\n","X_train=0.336966, y_train=0.476613\n","X_train=0.476613, y_train=0.431804\n","X_train=0.431804, y_train=0.484787\n","X_train=0.484787, y_train=0.424283\n","X_train=0.424283, y_train=0.428720\n","X_train=0.428720, y_train=0.514573\n","X_train=0.514573, y_train=0.592887\n","X_train=0.592887, y_train=0.318448\n","X_train=0.318448, y_train=0.409681\n","X_train=0.409681, y_train=0.467035\n","X_train=0.467035, y_train=0.349057\n","X_train=0.349057, y_train=0.452851\n","X_train=0.452851, y_train=0.434358\n","X_train=0.434358, y_train=0.459284\n","X_train=0.459284, y_train=0.614776\n","X_train=0.614776, y_train=0.278279\n","X_train=0.278279, y_train=0.444911\n","X_train=0.444911, y_train=0.437540\n","X_train=0.437540, y_train=0.513506\n","X_train=0.513506, y_train=0.398070\n","X_train=0.398070, y_train=0.373177\n","X_train=0.373177, y_train=0.474971\n","X_train=0.474971, y_train=0.545589\n","X_train=0.545589, y_train=0.447579\n","X_train=0.447579, y_train=0.394897\n","X_train=0.394897, y_train=0.508288\n","X_train=0.508288, y_train=0.368506\n","X_train=0.368506, y_train=0.490603\n","X_train=0.490603, y_train=0.443594\n","X_train=0.443594, y_train=0.403796\n","X_train=0.403796, y_train=0.600177\n","X_train=0.600177, y_train=0.326360\n","X_train=0.326360, y_train=0.415336\n","X_train=0.415336, y_train=0.539807\n","X_train=0.539807, y_train=0.325528\n","X_train=0.325528, y_train=0.446212\n","X_train=0.446212, y_train=0.461626\n","X_train=0.461626, y_train=0.421763\n","X_train=0.421763, y_train=0.388975\n","X_train=0.388975, y_train=0.557155\n","X_train=0.557155, y_train=0.386164\n","X_train=0.386164, y_train=0.438620\n","X_train=0.438620, y_train=0.449760\n","X_train=0.449760, y_train=0.577505\n","X_train=0.577505, y_train=0.282424\n","X_train=0.282424, y_train=0.439821\n","X_train=0.439821, y_train=0.474579\n","X_train=0.474579, y_train=0.484290\n","X_train=0.484290, y_train=0.490981\n","X_train=0.490981, y_train=0.363642\n","X_train=0.363642, y_train=0.442537\n","X_train=0.442537, y_train=0.441253\n","X_train=0.441253, y_train=0.412548\n","X_train=0.412548, y_train=0.525687\n","X_train=0.525687, y_train=0.621747\n","X_train=0.621747, y_train=0.180219\n","X_train=0.180219, y_train=0.462201\n","X_train=0.462201, y_train=0.437725\n","X_train=0.437725, y_train=0.518167\n","X_train=0.518167, y_train=0.387588\n","X_train=0.387588, y_train=0.516932\n","X_train=0.516932, y_train=0.521663\n","X_train=0.521663, y_train=0.259694\n","X_train=0.259694, y_train=0.438062\n","X_train=0.438062, y_train=0.556091\n","X_train=0.556091, y_train=0.432894\n","X_train=0.432894, y_train=0.324944\n","X_train=0.324944, y_train=0.435173\n","X_train=0.435173, y_train=0.428263\n","X_train=0.428263, y_train=0.427031\n","X_train=0.427031, y_train=0.525838\n","X_train=0.525838, y_train=0.451094\n","X_train=0.451094, y_train=0.364677\n","X_train=0.364677, y_train=0.455693\n","X_train=0.455693, y_train=0.492865\n","X_train=0.492865, y_train=0.449388\n","X_train=0.449388, y_train=0.435447\n","X_train=0.435447, y_train=0.379665\n","X_train=0.379665, y_train=0.429913\n","X_train=0.429913, y_train=0.463734\n","X_train=0.463734, y_train=0.431240\n","X_train=0.431240, y_train=0.426158\n","X_train=0.426158, y_train=0.464505\n","X_train=0.464505, y_train=0.437984\n","X_train=0.437984, y_train=0.457061\n","X_train=0.457061, y_train=0.425500\n","X_train=0.425500, y_train=0.429421\n","X_train=0.429421, y_train=0.464023\n","X_train=0.464023, y_train=0.447894\n","X_train=0.447894, y_train=0.534557\n","X_train=0.534557, y_train=0.380797\n","X_train=0.380797, y_train=0.404354\n","X_train=0.404354, y_train=0.422531\n","X_train=0.422531, y_train=0.421746\n","X_train=0.421746, y_train=0.467499\n","X_train=0.467499, y_train=0.425426\n","X_train=0.425426, y_train=0.440340\n","X_train=0.440340, y_train=0.529355\n","X_train=0.529355, y_train=0.462454\n","X_train=0.462454, y_train=0.333998\n","X_train=0.333998, y_train=0.435814\n","X_train=0.435814, y_train=0.430432\n","X_train=0.430432, y_train=0.463083\n","X_train=0.463083, y_train=0.440348\n","X_train=0.440348, y_train=0.416985\n","X_train=0.416985, y_train=0.464531\n","X_train=0.464531, y_train=0.444398\n","X_train=0.444398, y_train=0.413361\n","X_train=0.413361, y_train=0.457602\n","X_train=0.457602, y_train=0.446821\n","X_train=0.446821, y_train=0.418196\n","X_train=0.418196, y_train=0.466584\n","X_train=0.466584, y_train=0.432633\n","X_train=0.432633, y_train=0.432119\n","X_train=0.432119, y_train=0.463954\n","X_train=0.463954, y_train=0.429224\n","X_train=0.429224, y_train=0.435605\n","X_train=0.435605, y_train=0.453291\n","X_train=0.453291, y_train=0.439526\n","X_train=0.439526, y_train=0.436643\n","X_train=0.436643, y_train=0.454126\n","X_train=0.454126, y_train=0.449079\n","X_train=0.449079, y_train=0.449177\n","X_train=0.449177, y_train=0.433958\n","X_train=0.433958, y_train=0.450913\n","X_train=0.450913, y_train=0.450719\n","X_train=0.450719, y_train=0.511777\n","X_train=0.511777, y_train=0.405783\n","X_train=0.405783, y_train=0.457956\n","X_train=0.457956, y_train=0.429279\n","X_train=0.429279, y_train=0.507519\n","X_train=0.507519, y_train=0.458768\n","X_train=0.458768, y_train=0.501877\n","X_train=0.501877, y_train=0.410440\n","X_train=0.410440, y_train=0.419444\n","X_train=0.419444, y_train=0.445026\n","X_train=0.445026, y_train=0.465339\n","X_train=0.465339, y_train=0.529593\n","X_train=0.529593, y_train=0.402599\n","X_train=0.402599, y_train=0.429997\n","X_train=0.429997, y_train=0.508324\n","X_train=0.508324, y_train=0.393163\n","X_train=0.393163, y_train=0.496050\n","X_train=0.496050, y_train=0.391373\n","X_train=0.391373, y_train=0.441109\n","X_train=0.441109, y_train=0.453806\n","X_train=0.453806, y_train=0.602352\n","X_train=0.602352, y_train=0.400136\n","X_train=0.400136, y_train=0.339790\n","X_train=0.339790, y_train=0.441849\n","X_train=0.441849, y_train=0.564101\n","X_train=0.564101, y_train=0.388755\n","X_train=0.388755, y_train=0.318754\n","X_train=0.318754, y_train=0.559555\n","X_train=0.559555, y_train=0.434132\n","X_train=0.434132, y_train=0.403869\n","X_train=0.403869, y_train=0.409256\n","X_train=0.409256, y_train=0.458270\n","X_train=0.458270, y_train=0.420663\n","X_train=0.420663, y_train=0.460398\n","X_train=0.460398, y_train=0.419818\n","X_train=0.419818, y_train=0.483386\n","X_train=0.483386, y_train=0.401105\n","X_train=0.401105, y_train=0.458839\n","X_train=0.458839, y_train=0.447500\n","X_train=0.447500, y_train=0.415009\n","X_train=0.415009, y_train=0.495998\n","X_train=0.495998, y_train=0.526213\n","X_train=0.526213, y_train=0.474316\n","X_train=0.474316, y_train=0.342919\n","X_train=0.342919, y_train=0.455205\n","X_train=0.455205, y_train=0.502236\n","X_train=0.502236, y_train=0.401863\n","X_train=0.401863, y_train=0.467754\n","X_train=0.467754, y_train=0.426886\n","X_train=0.426886, y_train=0.511573\n","X_train=0.511573, y_train=0.504426\n","X_train=0.504426, y_train=0.333024\n","X_train=0.333024, y_train=0.491787\n","X_train=0.491787, y_train=0.447453\n","X_train=0.447453, y_train=0.860914\n","X_train=0.860914, y_train=0.000000\n","X_train=0.000000, y_train=0.484999\n","X_train=0.484999, y_train=0.372981\n","X_train=0.372981, y_train=0.341234\n","X_train=0.341234, y_train=0.518179\n","X_train=0.518179, y_train=0.573043\n","X_train=0.573043, y_train=0.258036\n","X_train=0.258036, y_train=0.454006\n","X_train=0.454006, y_train=0.456361\n","X_train=0.456361, y_train=0.389306\n","X_train=0.389306, y_train=0.531648\n","X_train=0.531648, y_train=0.393591\n","X_train=0.393591, y_train=0.476333\n","X_train=0.476333, y_train=0.431430\n","X_train=0.431430, y_train=0.656986\n","X_train=0.656986, y_train=0.462078\n","X_train=0.462078, y_train=0.244037\n","X_train=0.244037, y_train=0.442146\n","X_train=0.442146, y_train=0.478306\n","X_train=0.478306, y_train=0.387613\n","X_train=0.387613, y_train=0.423259\n","X_train=0.423259, y_train=0.420348\n","X_train=0.420348, y_train=0.410135\n","X_train=0.410135, y_train=0.495091\n","X_train=0.495091, y_train=0.429034\n","X_train=0.429034, y_train=0.447897\n","X_train=0.447897, y_train=0.409852\n","X_train=0.409852, y_train=0.486407\n","X_train=0.486407, y_train=0.432309\n","X_train=0.432309, y_train=0.463058\n","X_train=0.463058, y_train=0.347567\n","X_train=0.347567, y_train=0.466501\n","X_train=0.466501, y_train=0.473750\n","X_train=0.473750, y_train=0.539565\n","X_train=0.539565, y_train=0.339087\n","X_train=0.339087, y_train=0.455060\n","X_train=0.455060, y_train=0.429746\n","X_train=0.429746, y_train=0.419124\n","X_train=0.419124, y_train=0.495901\n","X_train=0.495901, y_train=0.367058\n","X_train=0.367058, y_train=0.435091\n","X_train=0.435091, y_train=0.485600\n","X_train=0.485600, y_train=0.483060\n","X_train=0.483060, y_train=0.522117\n","X_train=0.522117, y_train=0.300116\n","X_train=0.300116, y_train=0.427802\n","X_train=0.427802, y_train=0.480469\n","X_train=0.480469, y_train=0.513956\n","X_train=0.513956, y_train=0.336169\n","X_train=0.336169, y_train=0.416598\n","X_train=0.416598, y_train=0.448360\n","X_train=0.448360, y_train=0.453924\n","X_train=0.453924, y_train=0.402905\n","X_train=0.402905, y_train=0.472300\n","X_train=0.472300, y_train=0.492212\n","X_train=0.492212, y_train=0.359465\n","X_train=0.359465, y_train=0.442984\n","X_train=0.442984, y_train=0.438600\n","X_train=0.438600, y_train=0.435095\n","X_train=0.435095, y_train=0.744136\n","X_train=0.744136, y_train=0.215826\n","X_train=0.215826, y_train=0.339639\n","X_train=0.339639, y_train=0.537662\n","X_train=0.537662, y_train=0.448069\n","X_train=0.448069, y_train=0.341193\n","X_train=0.341193, y_train=0.530542\n","X_train=0.530542, y_train=0.444108\n","X_train=0.444108, y_train=0.357235\n","X_train=0.357235, y_train=0.527639\n","X_train=0.527639, y_train=0.440885\n","X_train=0.440885, y_train=0.376055\n","X_train=0.376055, y_train=0.488869\n","X_train=0.488869, y_train=0.443951\n","X_train=0.443951, y_train=0.408693\n","X_train=0.408693, y_train=0.451262\n","X_train=0.451262, y_train=0.451871\n","X_train=0.451871, y_train=0.411025\n","X_train=0.411025, y_train=0.464237\n","X_train=0.464237, y_train=0.462852\n","X_train=0.462852, y_train=0.409670\n","X_train=0.409670, y_train=0.466465\n","X_train=0.466465, y_train=0.437398\n","X_train=0.437398, y_train=0.440443\n","X_train=0.440443, y_train=0.462914\n","X_train=0.462914, y_train=0.448656\n","X_train=0.448656, y_train=0.418445\n","X_train=0.418445, y_train=0.470014\n","X_train=0.470014, y_train=0.437059\n","X_train=0.437059, y_train=0.447816\n","X_train=0.447816, y_train=0.460043\n","X_train=0.460043, y_train=0.461532\n","X_train=0.461532, y_train=0.454605\n","X_train=0.454605, y_train=0.526570\n","X_train=0.526570, y_train=0.457158\n","X_train=0.457158, y_train=0.441999\n","X_train=0.441999, y_train=0.510283\n","X_train=0.510283, y_train=0.410653\n","X_train=0.410653, y_train=0.390119\n","X_train=0.390119, y_train=0.531856\n","X_train=0.531856, y_train=0.403371\n","X_train=0.403371, y_train=0.479207\n","X_train=0.479207, y_train=0.400259\n","X_train=0.400259, y_train=0.467570\n","X_train=0.467570, y_train=0.480558\n","X_train=0.480558, y_train=0.410507\n","X_train=0.410507, y_train=0.525053\n","X_train=0.525053, y_train=0.507715\n","X_train=0.507715, y_train=0.524895\n","X_train=0.524895, y_train=0.255801\n","X_train=0.255801, y_train=0.337005\n","X_train=0.337005, y_train=0.456463\n","X_train=0.456463, y_train=0.641293\n","X_train=0.641293, y_train=0.400078\n","X_train=0.400078, y_train=0.353192\n","X_train=0.353192, y_train=0.678027\n","X_train=0.678027, y_train=0.146790\n","X_train=0.146790, y_train=0.470424\n","X_train=0.470424, y_train=0.495958\n","X_train=0.495958, y_train=0.403180\n","X_train=0.403180, y_train=0.476704\n","X_train=0.476704, y_train=0.395811\n","X_train=0.395811, y_train=0.436763\n","X_train=0.436763, y_train=0.430794\n","X_train=0.430794, y_train=0.457951\n","X_train=0.457951, y_train=0.505438\n","X_train=0.505438, y_train=0.398301\n","X_train=0.398301, y_train=0.510521\n","X_train=0.510521, y_train=0.389502\n","X_train=0.389502, y_train=0.401527\n","X_train=0.401527, y_train=0.463211\n","X_train=0.463211, y_train=0.461191\n","X_train=0.461191, y_train=0.529236\n","X_train=0.529236, y_train=0.444626\n","X_train=0.444626, y_train=0.441269\n","X_train=0.441269, y_train=0.354676\n","X_train=0.354676, y_train=0.499753\n","X_train=0.499753, y_train=0.471878\n","X_train=0.471878, y_train=0.353259\n","X_train=0.353259, y_train=0.466318\n","X_train=0.466318, y_train=0.437311\n","X_train=0.437311, y_train=0.477324\n","X_train=0.477324, y_train=0.478315\n","X_train=0.478315, y_train=0.543910\n","X_train=0.543910, y_train=0.386252\n","X_train=0.386252, y_train=0.466507\n","X_train=0.466507, y_train=0.339231\n","X_train=0.339231, y_train=0.621303\n","X_train=0.621303, y_train=0.458766\n","X_train=0.458766, y_train=0.285711\n","X_train=0.285711, y_train=0.470826\n","X_train=0.470826, y_train=0.402081\n","X_train=0.402081, y_train=0.415539\n","X_train=0.415539, y_train=0.409504\n","X_train=0.409504, y_train=0.475828\n","X_train=0.475828, y_train=0.415192\n","X_train=0.415192, y_train=0.398180\n","X_train=0.398180, y_train=0.603131\n","X_train=0.603131, y_train=0.323116\n","X_train=0.323116, y_train=0.459427\n","X_train=0.459427, y_train=0.453517\n","X_train=0.453517, y_train=0.447843\n","X_train=0.447843, y_train=0.432130\n","X_train=0.432130, y_train=0.420325\n","X_train=0.420325, y_train=0.436032\n","X_train=0.436032, y_train=0.460113\n","X_train=0.460113, y_train=0.435823\n","X_train=0.435823, y_train=0.418145\n","X_train=0.418145, y_train=0.487217\n","X_train=0.487217, y_train=0.422539\n","X_train=0.422539, y_train=0.407456\n","X_train=0.407456, y_train=0.438561\n","X_train=0.438561, y_train=0.441232\n","X_train=0.441232, y_train=0.557794\n","X_train=0.557794, y_train=0.341342\n","X_train=0.341342, y_train=0.406949\n","X_train=0.406949, y_train=0.456073\n","X_train=0.456073, y_train=0.549819\n","X_train=0.549819, y_train=0.409051\n","X_train=0.409051, y_train=0.676470\n","X_train=0.676470, y_train=0.289328\n","X_train=0.289328, y_train=0.347012\n","X_train=0.347012, y_train=0.453265\n","X_train=0.453265, y_train=0.460576\n","X_train=0.460576, y_train=0.459430\n","X_train=0.459430, y_train=0.388209\n","X_train=0.388209, y_train=0.529664\n","X_train=0.529664, y_train=0.369536\n","X_train=0.369536, y_train=0.504334\n","X_train=0.504334, y_train=0.349905\n","X_train=0.349905, y_train=0.452244\n","X_train=0.452244, y_train=0.432468\n","X_train=0.432468, y_train=0.493995\n","X_train=0.493995, y_train=0.377805\n","X_train=0.377805, y_train=0.461937\n","X_train=0.461937, y_train=0.446892\n","X_train=0.446892, y_train=0.496096\n","X_train=0.496096, y_train=0.377302\n","X_train=0.377302, y_train=0.421779\n","X_train=0.421779, y_train=0.477905\n","X_train=0.477905, y_train=0.442393\n","X_train=0.442393, y_train=0.364637\n","X_train=0.364637, y_train=0.461606\n","X_train=0.461606, y_train=0.456430\n","X_train=0.456430, y_train=0.402722\n","X_train=0.402722, y_train=0.453735\n","X_train=0.453735, y_train=0.426640\n","X_train=0.426640, y_train=0.440147\n","X_train=0.440147, y_train=0.469803\n","X_train=0.469803, y_train=0.415331\n","X_train=0.415331, y_train=0.441536\n","X_train=0.441536, y_train=0.464985\n","X_train=0.464985, y_train=0.409252\n","X_train=0.409252, y_train=0.440544\n","X_train=0.440544, y_train=0.466676\n","X_train=0.466676, y_train=0.417357\n","X_train=0.417357, y_train=0.451172\n","X_train=0.451172, y_train=0.487419\n","X_train=0.487419, y_train=0.436756\n","X_train=0.436756, y_train=0.394148\n","X_train=0.394148, y_train=0.461206\n","X_train=0.461206, y_train=0.447506\n","X_train=0.447506, y_train=0.413262\n","X_train=0.413262, y_train=0.473079\n","X_train=0.473079, y_train=0.419614\n","X_train=0.419614, y_train=0.458411\n","X_train=0.458411, y_train=0.444859\n","X_train=0.444859, y_train=0.442036\n","X_train=0.442036, y_train=0.430458\n","X_train=0.430458, y_train=0.481760\n","X_train=0.481760, y_train=0.427987\n","X_train=0.427987, y_train=0.433935\n","X_train=0.433935, y_train=0.484412\n","X_train=0.484412, y_train=0.421994\n","X_train=0.421994, y_train=0.454809\n","X_train=0.454809, y_train=0.447247\n","X_train=0.447247, y_train=0.511838\n","X_train=0.511838, y_train=0.432494\n","X_train=0.432494, y_train=0.425254\n","X_train=0.425254, y_train=0.469734\n","X_train=0.469734, y_train=0.459931\n","X_train=0.459931, y_train=0.450897\n","X_train=0.450897, y_train=0.475638\n","X_train=0.475638, y_train=0.481169\n","X_train=0.481169, y_train=0.470382\n","X_train=0.470382, y_train=0.447866\n","X_train=0.447866, y_train=0.419019\n","X_train=0.419019, y_train=0.445386\n","X_train=0.445386, y_train=0.427310\n","X_train=0.427310, y_train=0.432054\n","X_train=0.432054, y_train=0.438560\n","X_train=0.438560, y_train=0.499106\n","X_train=0.499106, y_train=0.396844\n","X_train=0.396844, y_train=0.450100\n","X_train=0.450100, y_train=0.451178\n","X_train=0.451178, y_train=0.415719\n","X_train=0.415719, y_train=0.489379\n","X_train=0.489379, y_train=0.382803\n","X_train=0.382803, y_train=0.452942\n","X_train=0.452942, y_train=0.442014\n","X_train=0.442014, y_train=0.482850\n","X_train=0.482850, y_train=0.401384\n","X_train=0.401384, y_train=0.462714\n","X_train=0.462714, y_train=0.466854\n","X_train=0.466854, y_train=0.378942\n","X_train=0.378942, y_train=0.481012\n","X_train=0.481012, y_train=0.482468\n","X_train=0.482468, y_train=0.453273\n","X_train=0.453273, y_train=0.465043\n","X_train=0.465043, y_train=0.382105\n","X_train=0.382105, y_train=0.443330\n","X_train=0.443330, y_train=0.491875\n","X_train=0.491875, y_train=0.522289\n","X_train=0.522289, y_train=0.298043\n","X_train=0.298043, y_train=0.454406\n","X_train=0.454406, y_train=0.434445\n","X_train=0.434445, y_train=0.504340\n","X_train=0.504340, y_train=0.435485\n","X_train=0.435485, y_train=0.398091\n","X_train=0.398091, y_train=0.422253\n","X_train=0.422253, y_train=0.524463\n","X_train=0.524463, y_train=0.441734\n","X_train=0.441734, y_train=0.417983\n","X_train=0.417983, y_train=0.576068\n","X_train=0.576068, y_train=0.557663\n","X_train=0.557663, y_train=0.326707\n","X_train=0.326707, y_train=0.364428\n","X_train=0.364428, y_train=0.392567\n","X_train=0.392567, y_train=0.432831\n","X_train=0.432831, y_train=0.450481\n","X_train=0.450481, y_train=0.414556\n","X_train=0.414556, y_train=0.523749\n","X_train=0.523749, y_train=0.397176\n","X_train=0.397176, y_train=0.470218\n","X_train=0.470218, y_train=0.445601\n","X_train=0.445601, y_train=0.437783\n","X_train=0.437783, y_train=0.463041\n","X_train=0.463041, y_train=0.449621\n","X_train=0.449621, y_train=0.452892\n","X_train=0.452892, y_train=0.369918\n","X_train=0.369918, y_train=0.513765\n","X_train=0.513765, y_train=0.429703\n","X_train=0.429703, y_train=0.512377\n","X_train=0.512377, y_train=0.466748\n","X_train=0.466748, y_train=0.391997\n","X_train=0.391997, y_train=0.542874\n","X_train=0.542874, y_train=0.261127\n","X_train=0.261127, y_train=0.492963\n","X_train=0.492963, y_train=0.401906\n","X_train=0.401906, y_train=0.518576\n","X_train=0.518576, y_train=0.342032\n","X_train=0.342032, y_train=0.562972\n","X_train=0.562972, y_train=0.462429\n","X_train=0.462429, y_train=0.314736\n","X_train=0.314736, y_train=0.484265\n","X_train=0.484265, y_train=0.389612\n","X_train=0.389612, y_train=0.479211\n","X_train=0.479211, y_train=0.455660\n","X_train=0.455660, y_train=0.398147\n","X_train=0.398147, y_train=0.821812\n","X_train=0.821812, y_train=0.076683\n","X_train=0.076683, y_train=0.437095\n","X_train=0.437095, y_train=0.450725\n","X_train=0.450725, y_train=0.403063\n","X_train=0.403063, y_train=0.481234\n","X_train=0.481234, y_train=0.445671\n","X_train=0.445671, y_train=0.433919\n","X_train=0.433919, y_train=0.410850\n","X_train=0.410850, y_train=0.478447\n","X_train=0.478447, y_train=0.552398\n","X_train=0.552398, y_train=0.333204\n","X_train=0.333204, y_train=0.395737\n","X_train=0.395737, y_train=0.480930\n","X_train=0.480930, y_train=0.476764\n","X_train=0.476764, y_train=0.339243\n","X_train=0.339243, y_train=0.462706\n","X_train=0.462706, y_train=0.428343\n","X_train=0.428343, y_train=0.477941\n","X_train=0.477941, y_train=0.488630\n","X_train=0.488630, y_train=0.447603\n","X_train=0.447603, y_train=0.395549\n","X_train=0.395549, y_train=0.432298\n","X_train=0.432298, y_train=0.393884\n","X_train=0.393884, y_train=0.419724\n","X_train=0.419724, y_train=0.447758\n","X_train=0.447758, y_train=0.437499\n","X_train=0.437499, y_train=0.449319\n","X_train=0.449319, y_train=0.437174\n","X_train=0.437174, y_train=0.436185\n","X_train=0.436185, y_train=0.430134\n","X_train=0.430134, y_train=0.445876\n","X_train=0.445876, y_train=0.436670\n","X_train=0.436670, y_train=0.448738\n","X_train=0.448738, y_train=0.429870\n","X_train=0.429870, y_train=0.450304\n","X_train=0.450304, y_train=0.435256\n","X_train=0.435256, y_train=0.438092\n","X_train=0.438092, y_train=0.437545\n","X_train=0.437545, y_train=0.441731\n","X_train=0.441731, y_train=0.444062\n","X_train=0.444062, y_train=0.438593\n","X_train=0.438593, y_train=0.453817\n","X_train=0.453817, y_train=0.438921\n","X_train=0.438921, y_train=0.439977\n","X_train=0.439977, y_train=0.445140\n","X_train=0.445140, y_train=0.440532\n","X_train=0.440532, y_train=0.446325\n","X_train=0.446325, y_train=0.443070\n","X_train=0.443070, y_train=0.439269\n","X_train=0.439269, y_train=0.437389\n","X_train=0.437389, y_train=0.455400\n","X_train=0.455400, y_train=0.439556\n","X_train=0.439556, y_train=0.436933\n","X_train=0.436933, y_train=0.472646\n","X_train=0.472646, y_train=0.427128\n","X_train=0.427128, y_train=0.447169\n","X_train=0.447169, y_train=0.444608\n","X_train=0.444608, y_train=0.550934\n","X_train=0.550934, y_train=0.364781\n","X_train=0.364781, y_train=0.474357\n","X_train=0.474357, y_train=0.465882\n","X_train=0.465882, y_train=0.441604\n","X_train=0.441604, y_train=0.505169\n","X_train=0.505169, y_train=0.568806\n","X_train=0.568806, y_train=0.318861\n","X_train=0.318861, y_train=0.449437\n","X_train=0.449437, y_train=0.465454\n","X_train=0.465454, y_train=0.452047\n","X_train=0.452047, y_train=0.484393\n","X_train=0.484393, y_train=0.509311\n","X_train=0.509311, y_train=0.431827\n","X_train=0.431827, y_train=0.368192\n","X_train=0.368192, y_train=0.408246\n","X_train=0.408246, y_train=0.546900\n","X_train=0.546900, y_train=0.441186\n","X_train=0.441186, y_train=0.378324\n","X_train=0.378324, y_train=0.461765\n","X_train=0.461765, y_train=0.415480\n","X_train=0.415480, y_train=0.409955\n","X_train=0.409955, y_train=0.482214\n","X_train=0.482214, y_train=0.580031\n","X_train=0.580031, y_train=0.294104\n","X_train=0.294104, y_train=0.460189\n","X_train=0.460189, y_train=0.480446\n","X_train=0.480446, y_train=0.419458\n","X_train=0.419458, y_train=0.410418\n","X_train=0.410418, y_train=0.487916\n","X_train=0.487916, y_train=0.372827\n","X_train=0.372827, y_train=0.507435\n","X_train=0.507435, y_train=0.415292\n","X_train=0.415292, y_train=0.473614\n","X_train=0.473614, y_train=0.481684\n","X_train=0.481684, y_train=0.422886\n","X_train=0.422886, y_train=0.332537\n","X_train=0.332537, y_train=0.509523\n","X_train=0.509523, y_train=0.459064\n","X_train=0.459064, y_train=0.642784\n","X_train=0.642784, y_train=0.231985\n","X_train=0.231985, y_train=0.442060\n","X_train=0.442060, y_train=0.487712\n","X_train=0.487712, y_train=0.455573\n","X_train=0.455573, y_train=0.440748\n","X_train=0.440748, y_train=0.538515\n","X_train=0.538515, y_train=0.322559\n","X_train=0.322559, y_train=0.485748\n","X_train=0.485748, y_train=0.468243\n","X_train=0.468243, y_train=0.396676\n","X_train=0.396676, y_train=0.470689\n","X_train=0.470689, y_train=0.399410\n","X_train=0.399410, y_train=0.482004\n","X_train=0.482004, y_train=0.432318\n","X_train=0.432318, y_train=0.479989\n","X_train=0.479989, y_train=0.444371\n","X_train=0.444371, y_train=0.430025\n","X_train=0.430025, y_train=0.483076\n","X_train=0.483076, y_train=0.415846\n","X_train=0.415846, y_train=0.596231\n","X_train=0.596231, y_train=0.240699\n","X_train=0.240699, y_train=0.565544\n","X_train=0.565544, y_train=0.332214\n","X_train=0.332214, y_train=0.415165\n","X_train=0.415165, y_train=0.459588\n","X_train=0.459588, y_train=0.435084\n","X_train=0.435084, y_train=0.642581\n","X_train=0.642581, y_train=0.218681\n","X_train=0.218681, y_train=0.465637\n","X_train=0.465637, y_train=0.451115\n","X_train=0.451115, y_train=0.484509\n","X_train=0.484509, y_train=0.452753\n","X_train=0.452753, y_train=0.425438\n","X_train=0.425438, y_train=0.409478\n","X_train=0.409478, y_train=0.423670\n","X_train=0.423670, y_train=0.532177\n","X_train=0.532177, y_train=0.367775\n","X_train=0.367775, y_train=0.475310\n","X_train=0.475310, y_train=0.451716\n","X_train=0.451716, y_train=0.379183\n","X_train=0.379183, y_train=0.497265\n","X_train=0.497265, y_train=0.388148\n","X_train=0.388148, y_train=0.428359\n","X_train=0.428359, y_train=0.463288\n","X_train=0.463288, y_train=0.444031\n","X_train=0.444031, y_train=0.479438\n","X_train=0.479438, y_train=0.402426\n","X_train=0.402426, y_train=0.433467\n","X_train=0.433467, y_train=0.516871\n","X_train=0.516871, y_train=0.394537\n","X_train=0.394537, y_train=0.409092\n","X_train=0.409092, y_train=0.602260\n","X_train=0.602260, y_train=0.356942\n","X_train=0.356942, y_train=0.474377\n","X_train=0.474377, y_train=0.348447\n","X_train=0.348447, y_train=0.415887\n","X_train=0.415887, y_train=0.476182\n","X_train=0.476182, y_train=0.425336\n","X_train=0.425336, y_train=0.404950\n","X_train=0.404950, y_train=0.487364\n","X_train=0.487364, y_train=0.402088\n","X_train=0.402088, y_train=0.428837\n","X_train=0.428837, y_train=0.471245\n","X_train=0.471245, y_train=0.439042\n","X_train=0.439042, y_train=0.424005\n","X_train=0.424005, y_train=0.462810\n","X_train=0.462810, y_train=0.397269\n","X_train=0.397269, y_train=0.462906\n","X_train=0.462906, y_train=0.438538\n","X_train=0.438538, y_train=0.411072\n","X_train=0.411072, y_train=0.442295\n","X_train=0.442295, y_train=0.441800\n","X_train=0.441800, y_train=0.466546\n","X_train=0.466546, y_train=0.457228\n","X_train=0.457228, y_train=0.416157\n","X_train=0.416157, y_train=0.434343\n","X_train=0.434343, y_train=0.483509\n","X_train=0.483509, y_train=0.399383\n","X_train=0.399383, y_train=0.457771\n","X_train=0.457771, y_train=0.442543\n","X_train=0.442543, y_train=0.414475\n","X_train=0.414475, y_train=0.448654\n","X_train=0.448654, y_train=0.438206\n","X_train=0.438206, y_train=0.451004\n","X_train=0.451004, y_train=0.439276\n","X_train=0.439276, y_train=0.443498\n","X_train=0.443498, y_train=0.450365\n","X_train=0.450365, y_train=0.430920\n","X_train=0.430920, y_train=0.446591\n","X_train=0.446591, y_train=0.448197\n","X_train=0.448197, y_train=0.431317\n","X_train=0.431317, y_train=0.441692\n","X_train=0.441692, y_train=0.440110\n","X_train=0.440110, y_train=0.438269\n","X_train=0.438269, y_train=0.513964\n","X_train=0.513964, y_train=0.382249\n","X_train=0.382249, y_train=0.439060\n","X_train=0.439060, y_train=0.437505\n","X_train=0.437505, y_train=0.454542\n","X_train=0.454542, y_train=0.437849\n","X_train=0.437849, y_train=0.454433\n","X_train=0.454433, y_train=0.442705\n","X_train=0.442705, y_train=0.447409\n","X_train=0.447409, y_train=0.444488\n","X_train=0.444488, y_train=0.456827\n","X_train=0.456827, y_train=0.498021\n","X_train=0.498021, y_train=0.414216\n","X_train=0.414216, y_train=0.451411\n","X_train=0.451411, y_train=0.463263\n","X_train=0.463263, y_train=0.465604\n","X_train=0.465604, y_train=0.531972\n","X_train=0.531972, y_train=0.439524\n","X_train=0.439524, y_train=0.495648\n","X_train=0.495648, y_train=0.468473\n","X_train=0.468473, y_train=0.406250\n","X_train=0.406250, y_train=0.406492\n","X_train=0.406492, y_train=0.494838\n","X_train=0.494838, y_train=0.414946\n","X_train=0.414946, y_train=0.449988\n","X_train=0.449988, y_train=0.625206\n","X_train=0.625206, y_train=0.217599\n","X_train=0.217599, y_train=0.539352\n","X_train=0.539352, y_train=0.400512\n","X_train=0.400512, y_train=0.451626\n","X_train=0.451626, y_train=0.414950\n","X_train=0.414950, y_train=0.465955\n","X_train=0.465955, y_train=0.407677\n","X_train=0.407677, y_train=0.506899\n","X_train=0.506899, y_train=0.418315\n","X_train=0.418315, y_train=0.496079\n","X_train=0.496079, y_train=0.553102\n","X_train=0.553102, y_train=0.268277\n","X_train=0.268277, y_train=0.427265\n","X_train=0.427265, y_train=0.492780\n","X_train=0.492780, y_train=0.376238\n","X_train=0.376238, y_train=0.459243\n","X_train=0.459243, y_train=0.474852\n","X_train=0.474852, y_train=0.411737\n","X_train=0.411737, y_train=0.452953\n","X_train=0.452953, y_train=0.431474\n","X_train=0.431474, y_train=0.411838\n","X_train=0.411838, y_train=0.461195\n","X_train=0.461195, y_train=0.466683\n","X_train=0.466683, y_train=0.396766\n","X_train=0.396766, y_train=0.444428\n","X_train=0.444428, y_train=0.512685\n","X_train=0.512685, y_train=0.369447\n","X_train=0.369447, y_train=0.501295\n","X_train=0.501295, y_train=0.422197\n","X_train=0.422197, y_train=0.486221\n","X_train=0.486221, y_train=0.447418\n","X_train=0.447418, y_train=0.412009\n","X_train=0.412009, y_train=0.479117\n","X_train=0.479117, y_train=0.400249\n","X_train=0.400249, y_train=0.411467\n","X_train=0.411467, y_train=0.501115\n","X_train=0.501115, y_train=0.485784\n","X_train=0.485784, y_train=0.408452\n","X_train=0.408452, y_train=0.480761\n","X_train=0.480761, y_train=0.369612\n","X_train=0.369612, y_train=0.500526\n","X_train=0.500526, y_train=0.384246\n","X_train=0.384246, y_train=0.473132\n","X_train=0.473132, y_train=0.424363\n","X_train=0.424363, y_train=0.460221\n","X_train=0.460221, y_train=0.448413\n","X_train=0.448413, y_train=0.465893\n","X_train=0.465893, y_train=0.458998\n","X_train=0.458998, y_train=0.392276\n","X_train=0.392276, y_train=0.420314\n","X_train=0.420314, y_train=0.442523\n","X_train=0.442523, y_train=0.487082\n","X_train=0.487082, y_train=0.453872\n","X_train=0.453872, y_train=0.448350\n","X_train=0.448350, y_train=0.366598\n","X_train=0.366598, y_train=0.515007\n","X_train=0.515007, y_train=0.390052\n","X_train=0.390052, y_train=0.634747\n","X_train=0.634747, y_train=0.324623\n","X_train=0.324623, y_train=0.453589\n","X_train=0.453589, y_train=0.403903\n","X_train=0.403903, y_train=0.412607\n","X_train=0.412607, y_train=0.439727\n","X_train=0.439727, y_train=0.428615\n","X_train=0.428615, y_train=0.459832\n","X_train=0.459832, y_train=0.452465\n","X_train=0.452465, y_train=0.419273\n","X_train=0.419273, y_train=0.442553\n","X_train=0.442553, y_train=0.548309\n","X_train=0.548309, y_train=0.335721\n","X_train=0.335721, y_train=0.414611\n","X_train=0.414611, y_train=0.512095\n","X_train=0.512095, y_train=0.384074\n","X_train=0.384074, y_train=0.456711\n","X_train=0.456711, y_train=0.425350\n","X_train=0.425350, y_train=0.451103\n","X_train=0.451103, y_train=0.479310\n","X_train=0.479310, y_train=0.416776\n","X_train=0.416776, y_train=0.379939\n","X_train=0.379939, y_train=0.509622\n","X_train=0.509622, y_train=0.403296\n","X_train=0.403296, y_train=0.446244\n","X_train=0.446244, y_train=0.504694\n","X_train=0.504694, y_train=0.477869\n","X_train=0.477869, y_train=0.391841\n","X_train=0.391841, y_train=0.415390\n","X_train=0.415390, y_train=0.368004\n","X_train=0.368004, y_train=0.447637\n"]}]},{"cell_type":"code","metadata":{"id":"ugRNwRsBnD-f","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632781632355,"user_tz":-120,"elapsed":207,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"16f7e401-c8f8-4859-ccf2-fb2ee1d7931a"},"source":["# walk-forward validation on the testing data\n","X_test = list()\n","y_test = list()\n","\n","X_test.append(test_scaled[len(test_scaled)-1, 0:-1][0])\n","y_test.append(test_scaled[0, 0:-1][0])\n","\n","for i in range(1,len(test_scaled)):\n","\t# make one-step forecast\n","    X_test.append(test_scaled[i-1, 0:-1][0])\n","    y_test.append(test_scaled[i, 0:-1][0])\n","    \n","for i in range(len(test_scaled)):\n","\tprint('X_test=%f, y_test=%f' % (X_test[i], y_test[i]))"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["X_test=0.502387, y_test=0.435522\n","X_test=0.435522, y_test=0.497889\n","X_test=0.497889, y_test=0.410709\n","X_test=0.410709, y_test=0.465723\n","X_test=0.465723, y_test=0.410070\n","X_test=0.410070, y_test=0.456710\n","X_test=0.456710, y_test=0.419286\n","X_test=0.419286, y_test=0.465536\n","X_test=0.465536, y_test=0.435800\n","X_test=0.435800, y_test=0.476196\n","X_test=0.476196, y_test=0.403361\n","X_test=0.403361, y_test=0.460324\n","X_test=0.460324, y_test=0.408193\n","X_test=0.408193, y_test=0.451864\n","X_test=0.451864, y_test=0.462336\n","X_test=0.462336, y_test=0.408626\n","X_test=0.408626, y_test=0.458388\n","X_test=0.458388, y_test=0.468078\n","X_test=0.468078, y_test=0.449678\n","X_test=0.449678, y_test=0.441211\n","X_test=0.441211, y_test=0.421694\n","X_test=0.421694, y_test=0.429245\n","X_test=0.429245, y_test=0.444961\n","X_test=0.444961, y_test=0.433267\n","X_test=0.433267, y_test=0.434761\n","X_test=0.434761, y_test=0.460047\n","X_test=0.460047, y_test=0.441348\n","X_test=0.441348, y_test=0.427690\n","X_test=0.427690, y_test=0.455646\n","X_test=0.455646, y_test=0.439447\n","X_test=0.439447, y_test=0.432931\n","X_test=0.432931, y_test=0.463776\n","X_test=0.463776, y_test=0.428020\n","X_test=0.428020, y_test=0.428643\n","X_test=0.428643, y_test=0.460545\n","X_test=0.460545, y_test=0.453454\n","X_test=0.453454, y_test=0.436938\n","X_test=0.436938, y_test=0.449868\n","X_test=0.449868, y_test=0.446048\n","X_test=0.446048, y_test=0.423725\n","X_test=0.423725, y_test=0.464064\n","X_test=0.464064, y_test=0.466357\n","X_test=0.466357, y_test=0.410315\n","X_test=0.410315, y_test=0.492348\n","X_test=0.492348, y_test=0.438828\n","X_test=0.438828, y_test=0.435262\n","X_test=0.435262, y_test=0.483666\n","X_test=0.483666, y_test=0.486673\n","X_test=0.486673, y_test=0.463893\n","X_test=0.463893, y_test=0.443792\n","X_test=0.443792, y_test=0.462303\n","X_test=0.462303, y_test=0.444577\n","X_test=0.444577, y_test=0.446215\n","X_test=0.446215, y_test=0.490502\n","X_test=0.490502, y_test=0.444256\n","X_test=0.444256, y_test=0.427119\n","X_test=0.427119, y_test=0.410376\n","X_test=0.410376, y_test=0.477978\n","X_test=0.477978, y_test=0.433580\n","X_test=0.433580, y_test=0.445686\n","X_test=0.445686, y_test=0.446173\n","X_test=0.446173, y_test=0.471685\n","X_test=0.471685, y_test=0.437556\n","X_test=0.437556, y_test=0.410877\n","X_test=0.410877, y_test=0.481333\n","X_test=0.481333, y_test=0.348748\n","X_test=0.348748, y_test=0.533025\n","X_test=0.533025, y_test=0.388312\n","X_test=0.388312, y_test=0.427238\n","X_test=0.427238, y_test=0.499239\n","X_test=0.499239, y_test=0.426825\n","X_test=0.426825, y_test=0.444163\n","X_test=0.444163, y_test=0.424275\n","X_test=0.424275, y_test=0.504307\n","X_test=0.504307, y_test=0.462114\n","X_test=0.462114, y_test=0.390983\n","X_test=0.390983, y_test=0.437025\n","X_test=0.437025, y_test=0.467290\n","X_test=0.467290, y_test=0.512710\n","X_test=0.512710, y_test=0.469141\n","X_test=0.469141, y_test=0.364942\n","X_test=0.364942, y_test=0.430205\n","X_test=0.430205, y_test=0.467940\n","X_test=0.467940, y_test=0.432243\n","X_test=0.432243, y_test=0.456221\n","X_test=0.456221, y_test=0.509850\n","X_test=0.509850, y_test=0.421158\n","X_test=0.421158, y_test=0.433206\n","X_test=0.433206, y_test=0.417521\n","X_test=0.417521, y_test=0.486779\n","X_test=0.486779, y_test=0.395102\n","X_test=0.395102, y_test=0.436228\n","X_test=0.436228, y_test=0.491978\n","X_test=0.491978, y_test=0.394338\n","X_test=0.394338, y_test=0.462657\n","X_test=0.462657, y_test=0.443256\n","X_test=0.443256, y_test=0.433294\n","X_test=0.433294, y_test=0.435707\n","X_test=0.435707, y_test=0.470969\n","X_test=0.470969, y_test=0.388324\n","X_test=0.388324, y_test=0.469280\n","X_test=0.469280, y_test=0.446709\n","X_test=0.446709, y_test=0.462573\n","X_test=0.462573, y_test=0.425826\n","X_test=0.425826, y_test=0.494081\n","X_test=0.494081, y_test=0.598841\n","X_test=0.598841, y_test=0.257698\n","X_test=0.257698, y_test=0.574772\n","X_test=0.574772, y_test=0.309889\n","X_test=0.309889, y_test=0.579514\n","X_test=0.579514, y_test=0.492483\n","X_test=0.492483, y_test=0.292392\n","X_test=0.292392, y_test=0.594803\n","X_test=0.594803, y_test=0.237575\n","X_test=0.237575, y_test=0.426398\n","X_test=0.426398, y_test=0.507376\n","X_test=0.507376, y_test=0.531586\n","X_test=0.531586, y_test=0.530625\n","X_test=0.530625, y_test=0.286369\n","X_test=0.286369, y_test=0.443044\n","X_test=0.443044, y_test=0.579985\n","X_test=0.579985, y_test=0.314566\n","X_test=0.314566, y_test=0.327949\n","X_test=0.327949, y_test=0.449823\n","X_test=0.449823, y_test=0.502609\n","X_test=0.502609, y_test=0.411205\n","X_test=0.411205, y_test=0.610737\n","X_test=0.610737, y_test=0.232981\n","X_test=0.232981, y_test=0.454685\n","X_test=0.454685, y_test=0.458818\n","X_test=0.458818, y_test=0.445217\n","X_test=0.445217, y_test=0.454905\n","X_test=0.454905, y_test=0.494921\n","X_test=0.494921, y_test=0.348621\n","X_test=0.348621, y_test=0.555984\n","X_test=0.555984, y_test=0.361378\n","X_test=0.361378, y_test=0.415856\n","X_test=0.415856, y_test=0.432810\n","X_test=0.432810, y_test=0.407275\n","X_test=0.407275, y_test=0.439432\n","X_test=0.439432, y_test=0.479240\n","X_test=0.479240, y_test=0.413456\n","X_test=0.413456, y_test=0.463676\n","X_test=0.463676, y_test=0.456752\n","X_test=0.456752, y_test=0.443176\n","X_test=0.443176, y_test=0.447832\n","X_test=0.447832, y_test=0.381495\n","X_test=0.381495, y_test=0.507282\n","X_test=0.507282, y_test=0.430893\n","X_test=0.430893, y_test=0.455777\n","X_test=0.455777, y_test=0.409358\n","X_test=0.409358, y_test=0.431607\n","X_test=0.431607, y_test=0.425518\n","X_test=0.425518, y_test=0.429152\n","X_test=0.429152, y_test=0.473933\n","X_test=0.473933, y_test=0.389650\n","X_test=0.389650, y_test=0.416604\n","X_test=0.416604, y_test=0.490196\n","X_test=0.490196, y_test=0.440853\n","X_test=0.440853, y_test=0.438215\n","X_test=0.438215, y_test=0.476646\n","X_test=0.476646, y_test=0.378603\n","X_test=0.378603, y_test=0.438130\n","X_test=0.438130, y_test=0.463850\n","X_test=0.463850, y_test=0.432782\n","X_test=0.432782, y_test=0.426144\n","X_test=0.426144, y_test=0.486368\n","X_test=0.486368, y_test=0.411618\n","X_test=0.411618, y_test=0.438840\n","X_test=0.438840, y_test=0.444883\n","X_test=0.444883, y_test=0.448696\n","X_test=0.448696, y_test=0.426497\n","X_test=0.426497, y_test=0.451617\n","X_test=0.451617, y_test=0.452309\n","X_test=0.452309, y_test=0.434664\n","X_test=0.434664, y_test=0.446754\n","X_test=0.446754, y_test=0.443883\n","X_test=0.443883, y_test=0.452236\n","X_test=0.452236, y_test=0.442088\n","X_test=0.442088, y_test=0.456904\n","X_test=0.456904, y_test=0.431976\n","X_test=0.431976, y_test=0.451516\n","X_test=0.451516, y_test=0.451007\n","X_test=0.451007, y_test=0.441069\n","X_test=0.441069, y_test=0.457971\n","X_test=0.457971, y_test=0.476798\n","X_test=0.476798, y_test=0.485337\n","X_test=0.485337, y_test=0.470129\n","X_test=0.470129, y_test=0.472736\n","X_test=0.472736, y_test=0.442675\n","X_test=0.442675, y_test=0.417343\n","X_test=0.417343, y_test=0.537348\n","X_test=0.537348, y_test=0.383612\n","X_test=0.383612, y_test=0.438278\n","X_test=0.438278, y_test=0.487191\n","X_test=0.487191, y_test=0.415868\n","X_test=0.415868, y_test=0.472701\n","X_test=0.472701, y_test=0.451637\n","X_test=0.451637, y_test=0.411004\n","X_test=0.411004, y_test=0.480270\n","X_test=0.480270, y_test=0.489321\n","X_test=0.489321, y_test=0.536408\n","X_test=0.536408, y_test=0.281214\n","X_test=0.281214, y_test=0.538541\n","X_test=0.538541, y_test=0.458073\n","X_test=0.458073, y_test=0.380857\n","X_test=0.380857, y_test=0.415976\n","X_test=0.415976, y_test=0.424067\n","X_test=0.424067, y_test=0.409973\n","X_test=0.409973, y_test=0.514256\n","X_test=0.514256, y_test=0.402175\n","X_test=0.402175, y_test=0.423463\n","X_test=0.423463, y_test=0.475879\n","X_test=0.475879, y_test=0.403940\n","X_test=0.403940, y_test=0.446363\n","X_test=0.446363, y_test=0.441428\n","X_test=0.441428, y_test=0.548478\n","X_test=0.548478, y_test=0.346078\n","X_test=0.346078, y_test=0.529325\n","X_test=0.529325, y_test=0.395190\n","X_test=0.395190, y_test=0.436226\n","X_test=0.436226, y_test=0.467556\n","X_test=0.467556, y_test=0.443751\n","X_test=0.443751, y_test=0.534463\n","X_test=0.534463, y_test=0.349740\n","X_test=0.349740, y_test=0.453852\n","X_test=0.453852, y_test=0.452070\n","X_test=0.452070, y_test=0.487336\n","X_test=0.487336, y_test=0.404883\n","X_test=0.404883, y_test=0.459818\n","X_test=0.459818, y_test=0.380992\n","X_test=0.380992, y_test=0.465714\n","X_test=0.465714, y_test=0.494832\n","X_test=0.494832, y_test=0.366300\n","X_test=0.366300, y_test=0.548443\n","X_test=0.548443, y_test=0.338729\n","X_test=0.338729, y_test=0.432798\n","X_test=0.432798, y_test=0.443079\n","X_test=0.443079, y_test=0.451832\n","X_test=0.451832, y_test=0.470162\n","X_test=0.470162, y_test=0.428614\n","X_test=0.428614, y_test=0.455797\n","X_test=0.455797, y_test=0.448910\n","X_test=0.448910, y_test=0.474784\n","X_test=0.474784, y_test=0.425518\n","X_test=0.425518, y_test=0.422048\n","X_test=0.422048, y_test=0.547442\n","X_test=0.547442, y_test=0.310575\n","X_test=0.310575, y_test=0.455262\n","X_test=0.455262, y_test=0.453317\n","X_test=0.453317, y_test=0.444607\n","X_test=0.444607, y_test=0.427497\n","X_test=0.427497, y_test=0.435602\n","X_test=0.435602, y_test=0.431690\n","X_test=0.431690, y_test=0.446369\n","X_test=0.446369, y_test=0.446332\n","X_test=0.446332, y_test=0.425034\n","X_test=0.425034, y_test=0.458287\n","X_test=0.458287, y_test=0.436431\n","X_test=0.436431, y_test=0.546091\n","X_test=0.546091, y_test=0.560219\n","X_test=0.560219, y_test=0.352329\n","X_test=0.352329, y_test=0.496534\n","X_test=0.496534, y_test=0.295402\n","X_test=0.295402, y_test=0.426624\n","X_test=0.426624, y_test=0.434661\n","X_test=0.434661, y_test=0.430455\n","X_test=0.430455, y_test=0.472062\n","X_test=0.472062, y_test=0.527706\n","X_test=0.527706, y_test=0.434939\n","X_test=0.434939, y_test=0.388432\n","X_test=0.388432, y_test=0.434325\n","X_test=0.434325, y_test=0.431964\n","X_test=0.431964, y_test=0.451883\n","X_test=0.451883, y_test=0.448993\n","X_test=0.448993, y_test=0.406302\n","X_test=0.406302, y_test=0.449893\n","X_test=0.449893, y_test=0.413211\n","X_test=0.413211, y_test=0.478764\n","X_test=0.478764, y_test=0.428201\n","X_test=0.428201, y_test=0.419881\n","X_test=0.419881, y_test=0.462530\n","X_test=0.462530, y_test=0.402477\n","X_test=0.402477, y_test=0.478591\n","X_test=0.478591, y_test=0.463639\n","X_test=0.463639, y_test=0.393360\n","X_test=0.393360, y_test=0.411111\n","X_test=0.411111, y_test=0.451124\n","X_test=0.451124, y_test=0.459905\n","X_test=0.459905, y_test=0.408676\n","X_test=0.408676, y_test=0.459672\n","X_test=0.459672, y_test=0.424565\n","X_test=0.424565, y_test=0.447987\n","X_test=0.447987, y_test=0.435039\n","X_test=0.435039, y_test=0.433551\n","X_test=0.433551, y_test=0.440341\n","X_test=0.440341, y_test=0.448108\n","X_test=0.448108, y_test=0.425485\n","X_test=0.425485, y_test=0.439215\n","X_test=0.439215, y_test=0.453651\n","X_test=0.453651, y_test=0.494748\n","X_test=0.494748, y_test=0.386656\n","X_test=0.386656, y_test=0.442033\n","X_test=0.442033, y_test=0.431020\n","X_test=0.431020, y_test=0.442569\n","X_test=0.442569, y_test=0.449611\n","X_test=0.449611, y_test=0.449846\n","X_test=0.449846, y_test=0.428753\n","X_test=0.428753, y_test=0.447785\n","X_test=0.447785, y_test=0.465199\n","X_test=0.465199, y_test=0.423057\n","X_test=0.423057, y_test=0.443089\n","X_test=0.443089, y_test=0.447191\n","X_test=0.447191, y_test=0.422602\n","X_test=0.422602, y_test=0.461487\n","X_test=0.461487, y_test=0.439920\n","X_test=0.439920, y_test=0.432209\n","X_test=0.432209, y_test=0.453046\n","X_test=0.453046, y_test=0.452274\n","X_test=0.452274, y_test=0.424525\n","X_test=0.424525, y_test=0.517533\n","X_test=0.517533, y_test=0.394689\n","X_test=0.394689, y_test=0.415988\n","X_test=0.415988, y_test=0.458247\n","X_test=0.458247, y_test=0.491719\n","X_test=0.491719, y_test=0.394777\n","X_test=0.394777, y_test=0.474691\n","X_test=0.474691, y_test=0.461783\n","X_test=0.461783, y_test=0.391891\n","X_test=0.391891, y_test=0.464107\n","X_test=0.464107, y_test=0.470475\n","X_test=0.470475, y_test=0.468956\n","X_test=0.468956, y_test=0.431654\n","X_test=0.431654, y_test=0.499050\n","X_test=0.499050, y_test=0.464764\n","X_test=0.464764, y_test=0.426529\n","X_test=0.426529, y_test=0.461163\n","X_test=0.461163, y_test=0.424461\n","X_test=0.424461, y_test=0.499300\n","X_test=0.499300, y_test=0.506378\n","X_test=0.506378, y_test=0.365602\n","X_test=0.365602, y_test=0.513731\n","X_test=0.513731, y_test=0.412748\n","X_test=0.412748, y_test=0.399538\n","X_test=0.399538, y_test=0.485654\n","X_test=0.485654, y_test=0.407662\n","X_test=0.407662, y_test=0.476019\n","X_test=0.476019, y_test=0.450303\n","X_test=0.450303, y_test=0.379124\n","X_test=0.379124, y_test=0.531194\n","X_test=0.531194, y_test=0.424945\n","X_test=0.424945, y_test=0.467282\n","X_test=0.467282, y_test=0.395174\n","X_test=0.395174, y_test=0.443486\n","X_test=0.443486, y_test=0.477786\n","X_test=0.477786, y_test=0.433466\n","X_test=0.433466, y_test=0.470132\n","X_test=0.470132, y_test=0.403917\n","X_test=0.403917, y_test=0.433785\n","X_test=0.433785, y_test=0.493966\n","X_test=0.493966, y_test=0.430920\n","X_test=0.430920, y_test=0.452018\n","X_test=0.452018, y_test=0.605134\n","X_test=0.605134, y_test=0.232931\n","X_test=0.232931, y_test=0.434063\n","X_test=0.434063, y_test=0.470390\n","X_test=0.470390, y_test=0.425388\n","X_test=0.425388, y_test=0.511840\n","X_test=0.511840, y_test=0.440906\n","X_test=0.440906, y_test=0.366286\n","X_test=0.366286, y_test=0.471983\n","X_test=0.471983, y_test=0.475199\n","X_test=0.475199, y_test=0.397058\n","X_test=0.397058, y_test=0.434812\n","X_test=0.434812, y_test=0.469036\n","X_test=0.469036, y_test=0.534023\n","X_test=0.534023, y_test=0.460836\n","X_test=0.460836, y_test=0.343913\n","X_test=0.343913, y_test=0.425760\n","X_test=0.425760, y_test=0.453541\n","X_test=0.453541, y_test=0.400623\n","X_test=0.400623, y_test=0.502213\n","X_test=0.502213, y_test=0.398319\n","X_test=0.398319, y_test=0.579012\n","X_test=0.579012, y_test=0.431505\n","X_test=0.431505, y_test=0.393939\n","X_test=0.393939, y_test=0.454093\n","X_test=0.454093, y_test=0.428459\n","X_test=0.428459, y_test=0.371854\n","X_test=0.371854, y_test=0.490158\n","X_test=0.490158, y_test=0.443036\n","X_test=0.443036, y_test=0.485542\n","X_test=0.485542, y_test=0.377394\n","X_test=0.377394, y_test=0.597490\n","X_test=0.597490, y_test=0.353919\n","X_test=0.353919, y_test=0.382705\n","X_test=0.382705, y_test=0.470756\n","X_test=0.470756, y_test=0.404832\n","X_test=0.404832, y_test=0.484972\n","X_test=0.484972, y_test=0.508409\n","X_test=0.508409, y_test=0.435237\n","X_test=0.435237, y_test=0.394001\n","X_test=0.394001, y_test=0.444281\n","X_test=0.444281, y_test=0.392586\n","X_test=0.392586, y_test=0.479303\n","X_test=0.479303, y_test=0.445235\n","X_test=0.445235, y_test=0.395610\n","X_test=0.395610, y_test=0.514935\n","X_test=0.514935, y_test=0.554631\n","X_test=0.554631, y_test=0.358364\n","X_test=0.358364, y_test=0.400355\n","X_test=0.400355, y_test=0.460989\n","X_test=0.460989, y_test=0.415188\n","X_test=0.415188, y_test=0.484066\n","X_test=0.484066, y_test=0.456598\n","X_test=0.456598, y_test=0.371069\n","X_test=0.371069, y_test=0.544220\n","X_test=0.544220, y_test=0.325920\n","X_test=0.325920, y_test=0.456114\n","X_test=0.456114, y_test=0.403311\n","X_test=0.403311, y_test=0.446151\n","X_test=0.446151, y_test=0.407819\n","X_test=0.407819, y_test=0.499461\n","X_test=0.499461, y_test=0.510044\n","X_test=0.510044, y_test=0.377368\n","X_test=0.377368, y_test=0.396090\n","X_test=0.396090, y_test=0.470727\n","X_test=0.470727, y_test=0.463883\n","X_test=0.463883, y_test=0.442163\n","X_test=0.442163, y_test=0.477644\n","X_test=0.477644, y_test=0.397838\n","X_test=0.397838, y_test=0.434943\n","X_test=0.434943, y_test=0.402795\n","X_test=0.402795, y_test=0.436112\n","X_test=0.436112, y_test=0.410542\n","X_test=0.410542, y_test=0.477068\n","X_test=0.477068, y_test=0.445383\n","X_test=0.445383, y_test=0.416286\n","X_test=0.416286, y_test=0.456614\n","X_test=0.456614, y_test=0.452558\n","X_test=0.452558, y_test=0.393785\n","X_test=0.393785, y_test=0.486958\n","X_test=0.486958, y_test=0.452836\n","X_test=0.452836, y_test=0.408804\n","X_test=0.408804, y_test=0.438007\n","X_test=0.438007, y_test=0.443340\n","X_test=0.443340, y_test=0.425833\n","X_test=0.425833, y_test=0.463956\n","X_test=0.463956, y_test=0.440131\n","X_test=0.440131, y_test=0.419091\n","X_test=0.419091, y_test=0.451921\n","X_test=0.451921, y_test=0.449798\n","X_test=0.449798, y_test=0.435848\n","X_test=0.435848, y_test=0.447170\n","X_test=0.447170, y_test=0.442920\n","X_test=0.442920, y_test=0.432305\n","X_test=0.432305, y_test=0.457660\n","X_test=0.457660, y_test=0.451568\n","X_test=0.451568, y_test=0.412526\n","X_test=0.412526, y_test=0.466923\n","X_test=0.466923, y_test=0.428374\n","X_test=0.428374, y_test=0.443181\n","X_test=0.443181, y_test=0.435489\n","X_test=0.435489, y_test=0.451432\n","X_test=0.451432, y_test=0.446484\n","X_test=0.446484, y_test=0.429954\n","X_test=0.429954, y_test=0.461697\n","X_test=0.461697, y_test=0.439559\n","X_test=0.439559, y_test=0.441407\n","X_test=0.441407, y_test=0.436854\n","X_test=0.436854, y_test=0.440811\n","X_test=0.440811, y_test=0.463764\n","X_test=0.463764, y_test=0.445380\n","X_test=0.445380, y_test=0.455060\n","X_test=0.455060, y_test=0.454974\n","X_test=0.454974, y_test=0.443965\n","X_test=0.443965, y_test=0.480595\n","X_test=0.480595, y_test=0.452905\n","X_test=0.452905, y_test=0.465208\n","X_test=0.465208, y_test=0.454701\n","X_test=0.454701, y_test=0.471166\n","X_test=0.471166, y_test=0.534490\n","X_test=0.534490, y_test=0.418776\n","X_test=0.418776, y_test=0.396434\n","X_test=0.396434, y_test=0.527768\n","X_test=0.527768, y_test=0.513906\n","X_test=0.513906, y_test=0.570231\n","X_test=0.570231, y_test=0.144286\n","X_test=0.144286, y_test=0.529838\n","X_test=0.529838, y_test=0.393098\n","X_test=0.393098, y_test=0.413558\n","X_test=0.413558, y_test=0.448061\n","X_test=0.448061, y_test=0.552083\n","X_test=0.552083, y_test=0.388238\n","X_test=0.388238, y_test=0.416586\n","X_test=0.416586, y_test=0.521397\n","X_test=0.521397, y_test=0.471033\n","X_test=0.471033, y_test=0.366277\n","X_test=0.366277, y_test=0.443245\n","X_test=0.443245, y_test=0.415775\n","X_test=0.415775, y_test=0.421554\n","X_test=0.421554, y_test=0.494680\n","X_test=0.494680, y_test=0.354196\n","X_test=0.354196, y_test=0.536441\n","X_test=0.536441, y_test=0.386656\n","X_test=0.386656, y_test=0.501138\n","X_test=0.501138, y_test=0.478413\n","X_test=0.478413, y_test=0.442340\n","X_test=0.442340, y_test=0.427256\n","X_test=0.427256, y_test=0.410682\n","X_test=0.410682, y_test=0.528425\n","X_test=0.528425, y_test=0.393417\n","X_test=0.393417, y_test=0.450957\n","X_test=0.450957, y_test=0.518456\n","X_test=0.518456, y_test=0.409069\n","X_test=0.409069, y_test=0.412786\n","X_test=0.412786, y_test=0.481228\n","X_test=0.481228, y_test=0.362849\n","X_test=0.362849, y_test=0.445792\n","X_test=0.445792, y_test=0.447080\n","X_test=0.447080, y_test=0.441582\n","X_test=0.441582, y_test=0.543314\n","X_test=0.543314, y_test=0.572137\n","X_test=0.572137, y_test=0.260810\n","X_test=0.260810, y_test=0.484038\n","X_test=0.484038, y_test=0.410027\n","X_test=0.410027, y_test=0.356565\n","X_test=0.356565, y_test=0.521681\n","X_test=0.521681, y_test=0.433260\n","X_test=0.433260, y_test=0.466214\n","X_test=0.466214, y_test=0.437397\n","X_test=0.437397, y_test=0.474688\n","X_test=0.474688, y_test=0.503406\n","X_test=0.503406, y_test=0.341011\n","X_test=0.341011, y_test=0.588097\n","X_test=0.588097, y_test=0.285061\n","X_test=0.285061, y_test=0.457996\n","X_test=0.457996, y_test=0.438033\n","X_test=0.438033, y_test=0.552682\n","X_test=0.552682, y_test=0.384192\n","X_test=0.384192, y_test=0.346106\n","X_test=0.346106, y_test=0.444260\n","X_test=0.444260, y_test=0.648545\n","X_test=0.648545, y_test=0.238804\n","X_test=0.238804, y_test=0.445536\n","X_test=0.445536, y_test=0.432630\n","X_test=0.432630, y_test=0.467554\n","X_test=0.467554, y_test=0.444724\n","X_test=0.444724, y_test=0.683986\n","X_test=0.683986, y_test=0.213333\n","X_test=0.213333, y_test=0.402234\n","X_test=0.402234, y_test=0.514215\n","X_test=0.514215, y_test=0.365486\n","X_test=0.365486, y_test=0.433465\n","X_test=0.433465, y_test=0.446669\n","X_test=0.446669, y_test=0.436179\n","X_test=0.436179, y_test=0.469611\n","X_test=0.469611, y_test=0.424823\n","X_test=0.424823, y_test=0.462492\n","X_test=0.462492, y_test=0.420663\n","X_test=0.420663, y_test=0.482049\n","X_test=0.482049, y_test=0.393192\n","X_test=0.393192, y_test=0.475483\n","X_test=0.475483, y_test=0.463992\n","X_test=0.463992, y_test=0.547985\n","X_test=0.547985, y_test=0.296442\n","X_test=0.296442, y_test=0.471321\n","X_test=0.471321, y_test=0.454773\n","X_test=0.454773, y_test=0.546661\n","X_test=0.546661, y_test=0.378051\n","X_test=0.378051, y_test=0.431683\n","X_test=0.431683, y_test=0.562248\n","X_test=0.562248, y_test=0.331449\n","X_test=0.331449, y_test=0.457702\n","X_test=0.457702, y_test=0.399990\n","X_test=0.399990, y_test=0.415419\n","X_test=0.415419, y_test=0.640376\n","X_test=0.640376, y_test=0.449120\n","X_test=0.449120, y_test=0.218123\n","X_test=0.218123, y_test=0.442726\n","X_test=0.442726, y_test=0.432238\n","X_test=0.432238, y_test=0.430368\n","X_test=0.430368, y_test=0.402372\n","X_test=0.402372, y_test=0.442109\n","X_test=0.442109, y_test=0.441454\n","X_test=0.441454, y_test=0.432410\n","X_test=0.432410, y_test=0.439354\n","X_test=0.439354, y_test=0.509597\n","X_test=0.509597, y_test=0.443878\n","X_test=0.443878, y_test=0.357393\n","X_test=0.357393, y_test=0.463474\n","X_test=0.463474, y_test=0.428779\n","X_test=0.428779, y_test=0.433319\n","X_test=0.433319, y_test=0.458705\n","X_test=0.458705, y_test=0.426425\n","X_test=0.426425, y_test=0.449381\n","X_test=0.449381, y_test=0.449060\n","X_test=0.449060, y_test=0.425909\n","X_test=0.425909, y_test=0.449669\n","X_test=0.449669, y_test=0.453370\n","X_test=0.453370, y_test=0.419988\n","X_test=0.419988, y_test=0.453036\n","X_test=0.453036, y_test=0.440902\n","X_test=0.440902, y_test=0.432061\n","X_test=0.432061, y_test=0.446460\n","X_test=0.446460, y_test=0.457887\n","X_test=0.457887, y_test=0.428494\n","X_test=0.428494, y_test=0.452968\n","X_test=0.452968, y_test=0.435931\n","X_test=0.435931, y_test=0.442267\n","X_test=0.442267, y_test=0.454961\n","X_test=0.454961, y_test=0.440055\n","X_test=0.440055, y_test=0.440561\n","X_test=0.440561, y_test=0.460530\n","X_test=0.460530, y_test=0.450901\n","X_test=0.450901, y_test=0.418163\n","X_test=0.418163, y_test=0.480694\n","X_test=0.480694, y_test=0.456578\n","X_test=0.456578, y_test=0.441573\n","X_test=0.441573, y_test=0.484161\n","X_test=0.484161, y_test=0.457099\n","X_test=0.457099, y_test=0.450744\n","X_test=0.450744, y_test=0.451478\n","X_test=0.451478, y_test=0.477777\n","X_test=0.477777, y_test=0.434066\n","X_test=0.434066, y_test=0.506115\n","X_test=0.506115, y_test=0.454850\n","X_test=0.454850, y_test=0.373795\n","X_test=0.373795, y_test=0.482403\n","X_test=0.482403, y_test=0.451181\n","X_test=0.451181, y_test=0.466476\n","X_test=0.466476, y_test=0.470477\n","X_test=0.470477, y_test=0.428537\n","X_test=0.428537, y_test=0.388089\n","X_test=0.388089, y_test=0.504379\n","X_test=0.504379, y_test=0.518990\n","X_test=0.518990, y_test=0.348817\n","X_test=0.348817, y_test=0.503805\n","X_test=0.503805, y_test=0.440181\n","X_test=0.440181, y_test=0.566262\n","X_test=0.566262, y_test=0.280872\n","X_test=0.280872, y_test=0.467331\n","X_test=0.467331, y_test=0.427543\n","X_test=0.427543, y_test=0.386134\n","X_test=0.386134, y_test=0.454922\n","X_test=0.454922, y_test=0.433793\n","X_test=0.433793, y_test=0.490523\n","X_test=0.490523, y_test=0.436040\n","X_test=0.436040, y_test=0.446468\n","X_test=0.446468, y_test=0.417256\n","X_test=0.417256, y_test=0.435635\n","X_test=0.435635, y_test=0.490863\n","X_test=0.490863, y_test=0.570498\n","X_test=0.570498, y_test=0.420238\n","X_test=0.420238, y_test=0.373382\n","X_test=0.373382, y_test=0.406279\n","X_test=0.406279, y_test=0.395923\n","X_test=0.395923, y_test=0.461359\n","X_test=0.461359, y_test=0.508601\n","X_test=0.508601, y_test=0.414609\n","X_test=0.414609, y_test=0.425398\n","X_test=0.425398, y_test=0.515264\n","X_test=0.515264, y_test=0.456925\n","X_test=0.456925, y_test=0.362632\n","X_test=0.362632, y_test=0.415085\n","X_test=0.415085, y_test=0.534601\n","X_test=0.534601, y_test=0.433465\n","X_test=0.433465, y_test=0.546272\n","X_test=0.546272, y_test=0.331952\n","X_test=0.331952, y_test=0.491251\n","X_test=0.491251, y_test=0.404885\n","X_test=0.404885, y_test=0.359322\n","X_test=0.359322, y_test=0.490164\n","X_test=0.490164, y_test=0.473168\n","X_test=0.473168, y_test=0.412480\n","X_test=0.412480, y_test=0.480706\n","X_test=0.480706, y_test=0.419126\n","X_test=0.419126, y_test=0.458792\n","X_test=0.458792, y_test=0.444219\n","X_test=0.444219, y_test=0.412511\n","X_test=0.412511, y_test=0.521292\n","X_test=0.521292, y_test=0.333227\n","X_test=0.333227, y_test=0.424217\n","X_test=0.424217, y_test=0.508520\n","X_test=0.508520, y_test=0.429300\n","X_test=0.429300, y_test=0.357887\n","X_test=0.357887, y_test=0.502346\n","X_test=0.502346, y_test=0.438820\n","X_test=0.438820, y_test=0.445647\n","X_test=0.445647, y_test=0.443979\n","X_test=0.443979, y_test=0.510676\n","X_test=0.510676, y_test=0.401017\n","X_test=0.401017, y_test=0.406398\n","X_test=0.406398, y_test=0.440482\n","X_test=0.440482, y_test=0.434471\n","X_test=0.434471, y_test=0.455329\n","X_test=0.455329, y_test=0.454968\n","X_test=0.454968, y_test=0.410290\n","X_test=0.410290, y_test=0.446036\n","X_test=0.446036, y_test=0.418183\n","X_test=0.418183, y_test=0.629567\n","X_test=0.629567, y_test=0.269955\n","X_test=0.269955, y_test=0.404292\n","X_test=0.404292, y_test=0.489450\n","X_test=0.489450, y_test=0.462092\n","X_test=0.462092, y_test=0.425510\n","X_test=0.425510, y_test=0.417879\n","X_test=0.417879, y_test=0.464072\n","X_test=0.464072, y_test=0.410807\n","X_test=0.410807, y_test=0.493287\n","X_test=0.493287, y_test=0.491374\n","X_test=0.491374, y_test=0.405064\n","X_test=0.405064, y_test=0.494357\n","X_test=0.494357, y_test=0.480258\n","X_test=0.480258, y_test=0.358939\n","X_test=0.358939, y_test=0.410887\n","X_test=0.410887, y_test=0.510901\n","X_test=0.510901, y_test=0.421556\n","X_test=0.421556, y_test=0.502387\n"]}]},{"cell_type":"code","metadata":{"id":"WOUtJpKHnD-f"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"MxrQq_IknD-g"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"f-S6AlgJnD-g"},"source":["## LSTM model\n","\n","Our goal is to create a LSTM model to predict y_train using the time series X_train"]},{"cell_type":"code","metadata":{"id":"G6Ex9fGanD-g"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"G_WCr3fqnD-h","executionInfo":{"status":"ok","timestamp":1632787765093,"user_tz":-120,"elapsed":186,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"66451f29-0c89-487d-cccb-b9d1009957ed"},"source":["X_train_array = np.array(X_train)\n","y_train_array = np.array(y_train)\n","model1 = lstm_model\n","model1.summary()"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["Model: \"model_5\"\n","_________________________________________________________________\n","Layer (type)                 Output Shape              Param #   \n","=================================================================\n","input (InputLayer)           [(1, 1, 1)]               0         \n","_________________________________________________________________\n","RNN (LSTM)                   (1, 150)                  91200     \n","_________________________________________________________________\n","dense (Dense)                (1, 1)                    151       \n","=================================================================\n","Total params: 91,351\n","Trainable params: 91,351\n","Non-trainable params: 0\n","_________________________________________________________________\n"]}]},{"cell_type":"code","metadata":{"id":"ZvdFW4c8nD-h"},"source":["w = np.zeros(y_train_array.shape[:2])\n","D=1\n","w[D:] = 1 \n","w_train = w"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"npapCkThnD-i"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"180ZqeYTnD-i"},"source":["from keras.callbacks import ModelCheckpoint\n","start = time.time()\n","hist1 = model1.fit(X_train_array, y_train_array, \n","                   batch_size=1,\n","                   epochs=50, \n","                   verbose=False,\n","                   validation_split=0.5,\n","                   shuffle=False)\n","end = time.time()\n","print(\"Time took {:3.1f} min\".format((end-start)/60))"]},{"cell_type":"code","metadata":{"id":"m3nacL-JnD-i"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"fDDmyVEAnD-j"},"source":["labels = [\"loss\",\"val_loss\"]\n","for lab in labels:\n","    plt.plot(hist1.history[lab],label=lab + \" model1\")\n","plt.yscale(\"log\")\n","plt.legend()\n","plt.show()"]},{"cell_type":"code","metadata":{"id":"NbNzDjIMnD-j","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787772458,"user_tz":-120,"elapsed":313,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"989169d9-a393-4bd5-9ea6-a81b1c2fbb6f"},"source":["for layer in model1.layers:\n","        if \"LSTM\" in str(layer):\n","            weightLSTM = layer.get_weights()\n","warr,uarr, barr = weightLSTM\n","print(warr)\n","print(\"\\n\")\n","print(uarr)\n","print(\"\\n\")\n","print(barr)\n","\n","print(model1.layers[2].get_weights())\n","warr.shape,uarr.shape,barr.shape"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["[[ 2.62251012e-02  3.12222410e-02 -2.86302697e-02 -1.30694821e-01\n","   1.09349256e-02 -1.60058327e-02 -4.69512418e-02 -2.14105975e-02\n","   5.85847870e-02 -9.80644301e-02  2.32287467e-01  1.48148825e-02\n","   3.23735505e-01 -9.26228166e-02  4.30162586e-02  5.41108772e-02\n","  -8.79867375e-02 -8.75324979e-02  1.55562870e-02  6.15357570e-02\n","  -5.31219542e-02  1.81669500e-02 -8.53567123e-02  5.33854403e-03\n","  -9.86082107e-02  3.51197203e-03  4.73524556e-02 -1.03065319e-01\n","   6.50939941e-02  1.15625776e-01  1.70699842e-02  4.12960798e-02\n","  -1.28569007e-01  6.92149028e-02  1.09285461e-02 -5.81028014e-02\n","   2.48446129e-02 -2.92288922e-02 -1.39588844e-02 -9.09753516e-02\n","  -2.61793863e-02  1.98030248e-02 -1.33421496e-01  6.76029474e-02\n","  -5.29839359e-02  3.87367606e-02 -3.18993889e-02 -1.26297578e-01\n","  -3.77020538e-02  6.75166547e-02  2.40715057e-01 -1.11905634e-01\n","  -3.87168080e-02 -1.31161824e-01  4.11684141e-02 -1.02366835e-01\n","   3.94556411e-02 -8.54351297e-02 -1.15176134e-01 -2.73163728e-02\n","  -1.10106096e-01 -2.14472692e-02 -5.33809997e-02 -1.26690820e-01\n","  -1.02260143e-01 -1.02494568e-01  7.24218935e-02 -3.58326212e-02\n","   4.62574698e-03  1.91271305e-02 -2.29758229e-02 -1.11008715e-02\n","   1.78175280e-03  2.72431057e-02 -8.68108682e-03  1.65880080e-02\n","  -6.27775043e-02  4.12513706e-04 -8.28936398e-02  2.61659194e-02\n","   2.77841613e-02  2.30048578e-02 -5.40653057e-03  2.54056770e-02\n","  -6.06947467e-02 -4.61147167e-02 -9.54874083e-02 -8.54215473e-02\n","  -6.76279888e-02 -2.53209025e-02 -8.51096958e-02  5.44998795e-03\n","   8.81800428e-02 -1.12709925e-02 -3.22475173e-02 -6.93482384e-02\n","  -9.99820381e-02  4.85255830e-02 -5.00569530e-02 -1.33629724e-01\n","   3.65545936e-02  1.01193730e-02 -5.68855703e-02  2.91555971e-01\n","   7.13901743e-02  4.54339944e-02  1.89355202e-02  6.97474554e-02\n","  -1.79162137e-02 -3.99641618e-02  5.45821302e-02 -6.21684343e-02\n","  -6.22624047e-02 -5.72476275e-02  1.00726616e-02  2.57774472e-01\n","   4.11274768e-02 -6.20998926e-02 -8.14971402e-02  2.04393640e-02\n","   6.68932823e-03  6.17420450e-02 -6.88109398e-02  8.05086493e-02\n","  -1.00039355e-01  5.85012473e-02 -7.87732452e-02 -3.42558860e-03\n","  -6.29286468e-02 -6.89507276e-02 -4.69122641e-02 -4.81383801e-02\n","   4.71986979e-02 -4.72120615e-03 -6.55186996e-02 -5.93873300e-02\n","   9.38483980e-03 -6.25574291e-02  1.74083616e-04  2.59252898e-02\n","  -1.04444757e-01 -5.73412981e-03 -6.45111948e-02  8.16528220e-03\n","  -1.73428953e-02  7.61969239e-02  2.13135928e-02 -1.10818177e-01\n","   3.62495193e-03  4.11909372e-02 -8.49439204e-02  4.02853191e-02\n","  -1.77822784e-02  1.84804723e-02 -8.10710788e-02  1.82899684e-02\n","  -2.68626213e-03 -2.28498131e-03 -9.97781754e-04  7.00080246e-02\n","  -9.28751528e-02  9.83138829e-02 -3.65348905e-03 -5.95329292e-02\n","   5.75714558e-02 -2.78532505e-02 -5.84492646e-02  4.90596294e-02\n","  -9.33400393e-02  3.29821259e-02  9.19052064e-02  9.63059664e-02\n","  -3.05444673e-02 -5.97468987e-02  3.78815234e-02 -6.37299418e-02\n","  -6.98696375e-02 -7.31565207e-02  4.52368557e-02 -5.85697815e-02\n","   6.43192232e-02  6.56556338e-03  4.77135628e-02 -6.32787794e-02\n","   6.70058280e-03  3.18752676e-02  4.16369736e-02  6.90885186e-02\n","   7.91362077e-02  1.17246956e-02  7.57306814e-02 -1.07660964e-02\n","   2.18270421e-02  2.41035968e-03  3.17816436e-03  2.01112106e-02\n","   7.67077208e-02  4.33817655e-02  2.54021734e-02 -7.70805627e-02\n","   7.53068924e-02  1.37905777e-03 -1.08141676e-02  1.51373148e-02\n","  -1.18734390e-02  5.14427572e-02  4.59504277e-02  7.30857253e-03\n","  -9.77396742e-02  5.75692058e-02  6.04372323e-02  8.25177878e-03\n","   4.78946418e-03  9.26923156e-02  2.09954157e-02 -3.00221890e-03\n","  -4.39246967e-02 -1.94741860e-02  3.10724378e-02  3.60248238e-03\n","   1.00932717e-02 -4.65680361e-02 -5.07866591e-03 -1.97155774e-03\n","   7.55033791e-02 -6.29400462e-02 -6.51123524e-02  6.37733489e-02\n","  -6.34161830e-02 -6.07374422e-02 -2.59127095e-02  9.86258835e-02\n","   7.94644803e-02  5.75878620e-02  8.86716545e-02 -7.79859871e-02\n","  -5.03982604e-02 -4.18214276e-02 -3.62493843e-02  7.48880506e-02\n","   6.68812543e-02  8.66318792e-02  4.48896736e-02 -6.33444041e-02\n","   9.41175669e-02  8.92223567e-02 -4.44032811e-02 -4.21621539e-02\n","  -7.72436932e-02  4.10812348e-02  3.81127149e-02 -9.77441818e-02\n","  -4.34956625e-02 -7.83918649e-02 -7.72155598e-02  8.58552754e-02\n","  -2.52798274e-02 -2.33360901e-02 -3.39345559e-02  4.03918922e-02\n","   7.60107785e-02 -5.14577180e-02 -2.40247175e-02  7.97204375e-02\n","  -9.30518657e-03 -6.82319403e-02 -9.29382443e-03 -6.05007000e-02\n","   3.63367945e-02 -3.72461230e-02 -4.19162959e-03 -3.97146493e-03\n","   6.12088293e-02 -8.05365592e-02 -2.35423446e-03 -6.46136180e-02\n","  -5.44223227e-02 -5.49157001e-02  4.32277620e-02 -2.63090804e-02\n","   4.40535098e-02 -4.91496772e-02 -2.28903592e-02  5.18576801e-03\n","  -4.84697707e-02 -9.50895026e-02 -9.42247659e-02 -3.23599204e-02\n","   3.38734984e-02  4.27772105e-02  3.47958654e-02 -6.05128706e-02\n","  -4.48705740e-02  7.62557238e-02  1.50468200e-02  3.12405527e-02\n","   5.04848361e-03 -2.43797153e-02  8.32054168e-02  9.13353413e-02\n","   7.99402967e-02 -5.24565298e-03 -5.80143090e-03 -6.37449548e-02\n","   9.07334499e-03 -6.97718235e-03  1.36922337e-02  6.24939725e-02\n","  -8.91724527e-02  8.76278523e-03 -1.31414235e-01  3.84207722e-03\n","   1.25869647e-01 -3.87676433e-02  1.12669311e-01  5.49958609e-02\n","   9.72635299e-03  7.95203596e-02 -3.53258327e-02 -6.78033978e-02\n","   3.18741687e-02 -7.79569820e-02 -5.61118089e-02 -2.29867199e-03\n","   3.40037644e-02 -3.81148309e-02  4.32510860e-02 -7.89208710e-02\n","  -3.52603011e-02  1.16944499e-01  1.55038042e-02 -1.10769652e-01\n","   6.94261640e-02  7.05314353e-02  9.04742181e-02 -3.40564772e-02\n","   1.09055713e-01  2.15205085e-02  9.25964937e-02  6.59469515e-03\n","   7.80107901e-02 -6.23714691e-03  8.52810889e-02 -6.58965707e-02\n","  -1.18893022e-02 -1.07765183e-01 -6.40022457e-02 -8.88351277e-02\n","  -5.61192781e-02  4.62043621e-02  1.28459498e-01  7.85803422e-02\n","  -1.90553274e-02  8.04393366e-02  6.19966984e-02 -7.08548278e-02\n","   3.69788310e-03  1.22092925e-02  6.72779158e-02  4.23505194e-02\n","  -4.53676544e-02  1.32057471e-02  5.07164076e-02 -6.02476895e-02\n","   2.93251891e-02  1.12561351e-02  1.23514116e-01 -5.97038008e-02\n","  -7.10925534e-02 -2.52775978e-02  7.34201819e-02  8.80527273e-02\n","  -1.61244050e-02  4.85627633e-03 -6.77368268e-02  7.22330213e-02\n","  -7.02927858e-02  2.60829367e-02  9.59156305e-02  1.83004905e-02\n","   4.78560431e-03 -1.92174781e-02 -2.03379616e-02  4.49362844e-02\n","   1.45525848e-02 -5.10453470e-02  8.69395677e-03  5.04071228e-02\n","  -7.61060743e-03  6.10281602e-02 -6.27987608e-02 -9.70676690e-02\n","   7.93021321e-02 -8.33974779e-02  3.92995290e-02 -1.25204371e-02\n","   5.40946163e-02  6.37572184e-02  7.66082704e-02  2.82740276e-02\n","  -1.90835260e-02  9.11562219e-02 -6.38584187e-03 -1.36949301e-01\n","  -6.68984726e-02 -1.84301212e-02 -6.70711547e-02  1.32747153e-02\n","   4.88135926e-02 -7.83194378e-02 -5.16904742e-02 -8.76861066e-02\n","  -1.19627062e-02 -3.01884413e-02  1.97319835e-02  1.25241548e-01\n","   1.67366490e-02 -6.34364039e-02  5.85697256e-02  5.64445294e-02\n","  -4.63780425e-02 -4.44698371e-02 -6.35210723e-02  7.81977922e-02\n","   9.57194194e-02 -2.58586463e-02  8.58394727e-02 -1.60239032e-03\n","  -1.85447186e-02  2.35390477e-02  8.89194980e-02 -5.47275208e-02\n","  -9.43997055e-02  6.04106635e-02 -5.50582930e-02  6.16343617e-02\n","   1.28040500e-02  5.89647517e-03 -2.41625700e-02 -3.87951247e-02\n","  -8.35782066e-02 -6.84217587e-02 -2.74155028e-02 -3.28355609e-03\n","  -1.16283610e-03 -1.76778939e-02  6.39037490e-02  9.77608189e-02\n","  -8.83693621e-02  1.04658544e-01  8.83661360e-02 -3.32051772e-03\n","  -4.63288873e-02 -3.29148173e-02 -6.34195507e-02  5.45666814e-02\n","  -3.52819785e-02 -5.19324802e-02  4.72881831e-02 -4.53240983e-02\n","   2.50686198e-01  1.22647360e-02  3.24088752e-01  3.15684155e-02\n","   8.76411796e-03  4.88148332e-02  2.58136839e-02  6.87030479e-02\n","  -1.13383485e-02  4.80143949e-02 -2.56543662e-02 -5.13032153e-02\n","   2.90560331e-02  4.52501290e-02 -2.87506096e-02 -2.88005229e-02\n","  -5.68489395e-02 -1.07004359e-01 -1.07494019e-01  2.01504409e-01\n","  -1.13920182e-01  6.41853064e-02 -1.07719630e-01 -1.32238120e-01\n","  -1.02614062e-02  1.63684841e-02  1.80735081e-01  2.75101196e-02\n","  -5.93062975e-02  5.67472093e-02 -4.52343859e-02  1.53535884e-02\n","  -8.43840539e-02 -5.93281090e-02 -3.92728262e-02  2.58570444e-02\n","  -1.29902363e-01 -3.52433734e-02  5.98163866e-02  1.59750618e-02\n","   6.69788495e-02 -1.29860407e-02 -1.84137318e-02 -1.15089186e-01\n","  -1.31295040e-01  9.98177659e-03  1.77497417e-03  5.80409318e-02\n","  -9.06698853e-02 -1.20241925e-01  2.40473077e-02  1.60123389e-02\n","  -3.03986650e-02  6.10118099e-02  1.08286431e-02 -9.03058946e-02\n","   1.07028693e-01 -1.00952834e-01 -5.77940000e-03  6.31844550e-02\n","   5.94082363e-02 -1.11607477e-01  3.27508673e-02  7.25126266e-02\n","  -3.86993214e-02 -2.70930957e-02  9.11905803e-03  1.45210810e-02\n","  -1.10139482e-01 -1.12586379e-01 -5.80655187e-02  3.19687271e-04\n","  -1.21931406e-02 -4.86394651e-02  7.02280700e-02  4.39711660e-02\n","  -1.67074818e-02 -1.29221976e-01 -9.48036835e-02 -6.25624582e-02\n","   6.13275729e-02 -6.38660640e-02 -2.18663923e-02  4.37778719e-02\n","  -7.24294856e-02  6.15762547e-03 -1.07352868e-01  2.39128955e-02\n","  -1.36437947e-02 -5.63082919e-02 -1.29901068e-02 -9.01436135e-02\n","  -3.39210033e-02  2.81523257e-01 -1.00112967e-02 -8.05466697e-02\n","   2.58133747e-02  1.56645291e-02 -2.88438471e-03  6.25579283e-02\n","  -6.03917949e-02 -6.11526407e-02  1.81424432e-02 -3.77537087e-02\n","  -1.07847430e-01  3.59199941e-01  4.40139100e-02  6.56618252e-02\n","  -2.18271837e-02 -4.35311496e-02  1.75292287e-02 -1.85598321e-02\n","   5.54838665e-02 -6.73070773e-02  2.25009304e-02  6.19143881e-02\n","   7.56761292e-04 -1.01653114e-01 -3.62699898e-03 -3.20951566e-02\n","  -7.16426447e-02 -6.02233857e-02  7.56379683e-03 -1.34240344e-01\n","   2.04756018e-02 -6.01160666e-03  1.94871575e-02 -9.77702811e-02\n","   8.15275311e-03 -4.87767253e-03 -1.06225133e-01 -5.38676754e-02\n","   4.37983796e-02  5.95208704e-02 -2.29586083e-02 -9.35249925e-02\n","  -9.38433558e-02 -4.43861522e-02 -6.29028827e-02  5.86539656e-02]]\n","\n","\n","[[ 0.0377934   0.0405737   0.02501741 ... -0.03031407  0.03371888\n","  -0.00656587]\n"," [ 0.07702178 -0.01423061 -0.06496398 ...  0.05767604 -0.00402949\n","  -0.00298702]\n"," [-0.08277105  0.05346438  0.07249844 ...  0.02093572 -0.05297581\n","   0.01443513]\n"," ...\n"," [ 0.02351057  0.01881189  0.00788304 ... -0.04671318  0.0935757\n","   0.01357061]\n"," [-0.00606315 -0.00670829 -0.05104866 ...  0.04689627  0.02740237\n","   0.00040832]\n"," [-0.0315974  -0.0418712  -0.03157615 ... -0.01411689  0.02658774\n","   0.07317242]]\n","\n","\n","[ 0.07774196  0.06076256  0.06117789  0.061531    0.06532285  0.05784328\n","  0.05778696  0.04125382  0.0327904   0.06113557  0.19085543  0.06444769\n","  0.3947583   0.04623013  0.16330709  0.06199101  0.06454699  0.0844088\n","  0.0473367   0.06511135  0.05776726  0.03646583  0.04386752  0.06043359\n","  0.05403597  0.05016405  0.05818184  0.03913973  0.04986573  0.13951266\n","  0.0632482   0.14508171  0.0428369   0.07499002  0.09466646  0.05055901\n","  0.13367648  0.05925776  0.04062225  0.05947202  0.08105101  0.06565074\n","  0.03947822  0.04590051  0.05836163  0.12024873  0.06552441  0.03601878\n","  0.03959895  0.0501427   0.18563327  0.03722486  0.06004065  0.03859112\n","  0.04163492  0.07287982  0.06499074  0.06165047  0.04074769  0.06326596\n","  0.0435178   0.05699082  0.04739342  0.03827337  0.04926117  0.06581526\n","  0.16416398  0.04250549  0.07062384  0.04973802  0.03512006  0.03550462\n","  0.05427185  0.06362517  0.06438554  0.03670384  0.07083596  0.05178843\n","  0.03607665  0.0621565   0.06269301  0.05822255  0.06278283  0.04495169\n","  0.05380922  0.0434725   0.05938358  0.06183921  0.06335211  0.04050975\n","  0.06245922  0.0360404   0.08101989  0.03654842  0.05799943  0.05710861\n","  0.04447668  0.05968995  0.07759356  0.0280179   0.05378221  0.0399909\n","  0.06116442  0.25606677  0.04629652  0.05573342  0.03868692  0.06230337\n","  0.04447043  0.03346686  0.04808212  0.03874185  0.05647125  0.0573801\n","  0.05869751  0.33265522  0.05300814  0.06014229  0.04200559  0.05871658\n","  0.04457698  0.04499524  0.05939805  0.08050326  0.03123596  0.04868422\n","  0.03482869  0.06700164  0.06139976  0.05285616  0.11602627  0.05790223\n","  0.03881361  0.06074978  0.04024591  0.03906244  0.05572337  0.06567443\n","  0.05142051  0.046876    0.10043987  0.07310195  0.05673484  0.05976449\n","  0.06336253  0.0569637   0.04028318  0.0341914   0.0916202   0.13142636\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n","  1.          1.          1.          1.          1.          1.\n"," -0.06147411 -0.06789637 -0.0665621   0.06623262 -0.06789077 -0.06485973\n","  0.06937207  0.06845482 -0.06437833  0.07232229  0.05997635 -0.06554575\n"," -0.05176005 -0.06824771 -0.06721272 -0.06456802 -0.07447628 -0.06469841\n"," -0.0656252   0.06133101 -0.06637611 -0.06595753 -0.07235069 -0.06467493\n","  0.08403046 -0.07208609 -0.06449861 -0.07120382 -0.06680974 -0.06153402\n"," -0.06752739  0.06550335  0.07407911 -0.06566989 -0.06447753 -0.07258959\n"," -0.06310271 -0.06593358  0.07574944  0.07056703 -0.06532504  0.06903409\n","  0.07435968 -0.07463881 -0.06825678  0.0650766   0.06675015 -0.07085081\n"," -0.06555346  0.07591496 -0.06346984  0.06979541  0.06629663  0.07108491\n","  0.06633841  0.06670631 -0.06849864 -0.06774586  0.07008574 -0.07533675\n"," -0.06709964  0.06918716  0.07429832 -0.06631361  0.0669164  -0.07707876\n"," -0.0455738  -0.06858657  0.06371524 -0.0652689   0.064835    0.06704901\n"," -0.06596119 -0.06663014  0.06387783  0.06488358  0.06528622  0.06879953\n","  0.07111046 -0.0667386   0.06981943 -0.07829359  0.07501747  0.06593006\n","  0.06490123 -0.06932519  0.06787343 -0.07003783  0.08783835  0.0665442\n","  0.06483212 -0.07025758 -0.06246643 -0.06902784 -0.06647386 -0.06833103\n","  0.07000937 -0.06152807 -0.06502694  0.06360698 -0.06548512  0.07381318\n"," -0.06918901  0.05658663 -0.07632317 -0.06623752 -0.06673453 -0.06394807\n","  0.06867816 -0.06426574 -0.07823487 -0.07298173 -0.06605089  0.0658787\n","  0.07402859 -0.05429963  0.06345976  0.06322441  0.06952334 -0.06374076\n"," -0.06772389 -0.06588725  0.0632818  -0.06350482  0.06614777 -0.06296847\n","  0.06809092  0.0714976   0.06948445  0.06790543 -0.06724413  0.06530054\n"," -0.07287046 -0.06545626 -0.06574793  0.06605295  0.06487332 -0.06832019\n"," -0.06624191 -0.06693599  0.06938508  0.06682916  0.06493507 -0.06555948\n"," -0.0687935  -0.06756409  0.06604431  0.07014968  0.06541262 -0.06469551\n","  0.07899333  0.05991803  0.0607408   0.06371865  0.06357808  0.05939497\n","  0.05799142  0.0404761   0.0323526   0.06227461  0.1908833   0.06435466\n","  0.39475334  0.04882167  0.16298847  0.06186267  0.06721059  0.08820829\n","  0.04666247  0.06481075  0.05841302  0.03487046  0.04619797  0.06130318\n","  0.05548796  0.04934241  0.05569243  0.03889986  0.0460395   0.13984998\n","  0.06020999  0.14528437  0.04312127  0.07004077  0.0943605   0.0521167\n","  0.13495038  0.06058118  0.03945394  0.0628076   0.08064983  0.06550955\n","  0.04029763  0.04297784  0.05861543  0.12015359  0.0632746   0.03767787\n","  0.04154795  0.04884383  0.18511675  0.03909002  0.06049801  0.0387554\n","  0.03793892  0.07574812  0.064071    0.0649767   0.04111303  0.06091359\n","  0.04626142  0.05778081  0.0477647   0.04205959  0.05162872  0.06607564\n","  0.16410027  0.04102821  0.07039715  0.05064445  0.0366808   0.03331034\n","  0.05490585  0.06464831  0.06375574  0.03564672  0.07261615  0.05202205\n","  0.03533442  0.05893851  0.0606754   0.05760787  0.0625928   0.04326399\n","  0.05667175  0.04529904  0.06108887  0.06078191  0.06265889  0.03960988\n","  0.06608124  0.03440347  0.07871414  0.03751103  0.05705362  0.05874557\n","  0.04421319  0.05915937  0.07841498  0.02962729  0.05261228  0.03769655\n","  0.0616366   0.25597167  0.04433341  0.05288573  0.03867848  0.06101117\n","  0.0446773   0.03541895  0.04539465  0.03856778  0.0582087   0.05783163\n","  0.05596529  0.33364496  0.05301068  0.06310932  0.04313309  0.05723293\n","  0.04469744  0.04314229  0.06220537  0.0773579   0.03349682  0.04868255\n","  0.0362718   0.06471211  0.06278346  0.05359402  0.11543921  0.05763669\n","  0.03774357  0.05790766  0.04193391  0.04004266  0.05589472  0.0648579\n","  0.05152414  0.04610236  0.10041951  0.07186165  0.05927031  0.06089963\n","  0.06319245  0.05310109  0.03776651  0.03532015  0.09058938  0.1316345 ]\n","[array([[-0.18936849],\n","       [-0.12821361],\n","       [-0.2414334 ],\n","       [ 0.19002607],\n","       [-0.17404462],\n","       [-0.21363345],\n","       [ 0.13498951],\n","       [ 0.11853304],\n","       [-0.13243897],\n","       [ 0.11718147],\n","       [ 0.18936212],\n","       [-0.20389444],\n","       [-0.25734526],\n","       [-0.12989911],\n","       [-0.16688725],\n","       [-0.09602182],\n","       [-0.09685335],\n","       [-0.1129775 ],\n","       [-0.17462449],\n","       [ 0.14988114],\n","       [-0.18832657],\n","       [-0.17517923],\n","       [-0.07384577],\n","       [-0.21830846],\n","       [ 0.05492803],\n","       [-0.07810261],\n","       [-0.17290825],\n","       [-0.1141753 ],\n","       [-0.16524622],\n","       [-0.25451967],\n","       [-0.20777708],\n","       [ 0.18832001],\n","       [ 0.08780892],\n","       [-0.11270186],\n","       [-0.23864628],\n","       [-0.07955042],\n","       [-0.2148642 ],\n","       [-0.18329976],\n","       [ 0.05165434],\n","       [ 0.11113412],\n","       [-0.13699485],\n","       [ 0.12043585],\n","       [ 0.07747317],\n","       [-0.05466449],\n","       [-0.16858925],\n","       [ 0.28349137],\n","       [ 0.14838411],\n","       [-0.10058744],\n","       [-0.15218244],\n","       [ 0.05208353],\n","       [-0.18821396],\n","       [ 0.10795025],\n","       [ 0.21987699],\n","       [ 0.13299489],\n","       [ 0.22961494],\n","       [ 0.10426106],\n","       [-0.1234859 ],\n","       [-0.16268267],\n","       [ 0.14214182],\n","       [-0.0821265 ],\n","       [-0.17896605],\n","       [ 0.11330806],\n","       [ 0.06944714],\n","       [-0.1963469 ],\n","       [ 0.20706552],\n","       [-0.1000791 ],\n","       [-0.1041408 ],\n","       [-0.14985049],\n","       [ 0.13175552],\n","       [-0.14294249],\n","       [ 0.16833535],\n","       [ 0.21342275],\n","       [-0.15770969],\n","       [-0.13384886],\n","       [ 0.21524942],\n","       [ 0.22551991],\n","       [ 0.11466889],\n","       [ 0.103445  ],\n","       [ 0.10574505],\n","       [-0.23050316],\n","       [ 0.1196406 ],\n","       [-0.06232035],\n","       [ 0.08587067],\n","       [ 0.17836341],\n","       [ 0.23713507],\n","       [-0.08917427],\n","       [ 0.20312323],\n","       [-0.11733264],\n","       [ 0.06883189],\n","       [ 0.20357956],\n","       [ 0.11865082],\n","       [-0.07920303],\n","       [-0.15523247],\n","       [-0.07490478],\n","       [-0.17740047],\n","       [-0.14992781],\n","       [ 0.15131582],\n","       [-0.25370696],\n","       [-0.14232628],\n","       [ 0.0408259 ],\n","       [-0.18018033],\n","       [ 0.05988237],\n","       [-0.14959382],\n","       [ 0.1747531 ],\n","       [-0.0465285 ],\n","       [-0.19946325],\n","       [-0.10495209],\n","       [-0.22749847],\n","       [ 0.10215066],\n","       [-0.2319099 ],\n","       [-0.04467046],\n","       [-0.07067711],\n","       [-0.22747041],\n","       [ 0.24529473],\n","       [ 0.0876564 ],\n","       [-0.21321031],\n","       [ 0.23853205],\n","       [ 0.168886  ],\n","       [ 0.11139422],\n","       [-0.18215038],\n","       [-0.10356517],\n","       [-0.13420257],\n","       [ 0.2040527 ],\n","       [-0.15178087],\n","       [ 0.22373234],\n","       [-0.21707465],\n","       [ 0.12287764],\n","       [ 0.1255966 ],\n","       [ 0.13534321],\n","       [ 0.17389731],\n","       [-0.11490738],\n","       [ 0.19006552],\n","       [-0.04928813],\n","       [-0.23594497],\n","       [-0.20770995],\n","       [ 0.20922853],\n","       [ 0.21441427],\n","       [-0.24589881],\n","       [-0.15709068],\n","       [-0.12227736],\n","       [ 0.11177253],\n","       [ 0.09506497],\n","       [ 0.23187518],\n","       [-0.16470394],\n","       [-0.14150804],\n","       [-0.14278878],\n","       [ 0.22319219],\n","       [ 0.10881598],\n","       [ 0.24147812],\n","       [-0.18346542]], dtype=float32), array([0.06262913], dtype=float32)]\n"]},{"output_type":"execute_result","data":{"text/plain":["((1, 600), (150, 600), (600,))"]},"metadata":{},"execution_count":226}]},{"cell_type":"code","metadata":{"id":"AwEgcpM5nD-j"},"source":["def sigmoid(x):\n","    return(1.0/(1.0+np.exp(-x)))\n","def LSTMlayer(weight,x_t,h_tm1,c_tm1):\n","    '''\n","    c_tm1 = np.array([0,0]).reshape(1,2)\n","    h_tm1 = np.array([0,0]).reshape(1,2)\n","    x_t   = np.array([1]).reshape(1,1)\n","    \n","    warr.shape = (nfeature,hunits*4)\n","    uarr.shape = (hunits,hunits*4)\n","    barr.shape = (hunits*4,)\n","    '''\n","    warr,uarr, barr = weight\n","    s_t = (x_t.dot(warr) + h_tm1.dot(uarr) + barr)\n","    hunit = uarr.shape[0]\n","    i  = sigmoid(s_t[:,:hunit])\n","    f  = sigmoid(s_t[:,1*hunit:2*hunit])\n","    _c = np.tanh(s_t[:,2*hunit:3*hunit])\n","    o  = sigmoid(s_t[:,3*hunit:])\n","    c_t = i*_c + f*c_tm1\n","    h_t = o*np.tanh(c_t)\n","    return(h_t,c_t)"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"7IUH_WgJnD-k"},"source":["c_tm1 = np.array([0]*hunits).reshape(1,hunits)\n","h_tm1 = np.array([0]*hunits).reshape(1,hunits)"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"hPOfAxN2nD-k","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787781129,"user_tz":-120,"elapsed":647,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"acc4a7c4-02ff-43be-c8e4-39efa58e2a5b"},"source":["xs  = X_train_array\n","for i in range(len(xs)):\n","    x_t = xs[i].reshape(1,1)\n","    h_tm1,c_tm1 = LSTMlayer(weightLSTM,x_t,h_tm1,c_tm1)\n","print(\"h3={}\".format(h_tm1))\n","print(\"c3={}\".format(c_tm1))"],"execution_count":null,"outputs":[{"output_type":"stream","name":"stdout","text":["h3=[[-1.86511857e-04 -7.43942188e-02 -1.01777993e-01  5.25529055e-02\n","  -5.70273895e-02  4.41634822e-02  1.37721307e-01  1.35772992e-01\n","  -3.73309241e-02  1.27979007e-01 -2.28011592e-02 -4.71673714e-02\n","  -1.25946256e-01 -7.16505134e-02 -3.10503274e-02 -6.09363799e-02\n","  -1.27018744e-01 -4.23985767e-02 -4.94893113e-02  2.24018492e-02\n","  -5.41548150e-02 -1.15296763e-01 -1.37448455e-01 -2.03750092e-02\n","   7.10862718e-02 -8.14868753e-02 -1.79281743e-02 -1.38851609e-01\n","  -7.32203997e-02  2.76319806e-02 -6.88400966e-02  4.17347789e-02\n","   8.56427240e-02 -1.94343478e-02 -4.26585763e-02 -1.06379396e-01\n","  -2.89428589e-02 -5.99678623e-02  1.79438337e-01  7.08788631e-02\n","  -6.70556833e-02  9.60799190e-02  1.02391786e-01 -1.54050894e-01\n","  -3.35904473e-02  4.60911523e-02  7.64137607e-03 -6.07894906e-02\n","  -4.87395121e-02  1.68906605e-01  8.14653985e-03  1.29544303e-01\n","   1.24268139e-02  1.65085247e-01  6.14606521e-02  8.19849689e-02\n","  -4.90346176e-02 -7.00499181e-02  9.04308103e-02 -4.19891848e-02\n","  -8.02120461e-02  9.23494377e-02  7.37514517e-02 -1.41093542e-01\n","   8.88201052e-02 -1.41876095e-01 -1.45605281e-02 -4.58256670e-02\n","   7.01931446e-02 -7.85648116e-02  8.59161600e-02  1.17175289e-01\n","  -3.08602022e-02 -1.46526464e-01  2.90326405e-02  9.51211228e-02\n","  -3.56175974e-02  7.99345368e-02  1.66432884e-01 -1.79921067e-02\n","   3.61072141e-02 -9.07612848e-02  1.86952138e-03  1.18155740e-01\n","   1.97933763e-01 -1.10103514e-01  7.15299289e-02 -7.65167824e-04\n","   7.67904473e-02  1.05447554e-01  7.54582113e-02 -1.38574943e-01\n","  -2.62012740e-02 -7.39983663e-02 -2.74884794e-02 -1.23130793e-02\n","   1.00288459e-01  9.92926993e-03 -1.85997215e-02  8.59706789e-02\n","  -2.75802549e-02  1.23187882e-01 -6.33426390e-02  1.54555097e-02\n","  -1.40540212e-01 -6.19906527e-02 -1.26581749e-01 -3.04168798e-02\n","   4.72723355e-02 -5.07301204e-02 -1.33027498e-01 -1.21640798e-01\n","  -7.60997092e-02  5.49546967e-02  5.68667724e-02 -8.27566349e-02\n","   1.05384407e-01  4.30058043e-02  3.39065493e-02 -1.36115064e-02\n","  -3.77323521e-02 -9.99293189e-02  7.34588006e-02  1.68748747e-02\n","   3.29004365e-02 -1.19690708e-01  7.72865403e-02  1.01751751e-01\n","   1.02312421e-01  7.12354203e-02  3.98692060e-02  1.08038856e-01\n","  -1.44137745e-01 -6.08079404e-02 -6.78707785e-02  1.20170501e-02\n","   8.41939901e-02 -1.03276394e-01 -5.87678449e-02 -8.28178312e-02\n","   3.63643718e-02  2.55071131e-03  2.23594416e-02 -1.07031135e-01\n","  -6.88546654e-02 -8.71507568e-03  1.23714951e-01  1.16492091e-01\n","   4.67889150e-02 -2.31910352e-03]]\n","c3=[[-3.63275855e-04 -1.48429180e-01 -2.07183795e-01  1.06352688e-01\n","  -1.09478740e-01  8.60677477e-02  2.67476198e-01  2.83187872e-01\n","  -7.37301939e-02  2.62465092e-01 -3.94617508e-02 -9.32725833e-02\n","  -1.98661305e-01 -1.41667764e-01 -5.79381136e-02 -1.14946132e-01\n","  -2.49355167e-01 -8.08899921e-02 -9.68879967e-02  4.27104909e-02\n","  -1.06113326e-01 -2.33716237e-01 -2.74064874e-01 -4.06028438e-02\n","   1.44972231e-01 -1.63839528e-01 -3.63710881e-02 -2.89577373e-01\n","  -1.50151262e-01  5.01838647e-02 -1.40072910e-01  7.45689200e-02\n","   1.71079439e-01 -3.84131520e-02 -8.15123894e-02 -2.12499222e-01\n","  -5.36356116e-02 -1.09551092e-01  3.68903109e-01  1.34455367e-01\n","  -1.29100444e-01  1.90546721e-01  2.01330786e-01 -3.09094223e-01\n","  -6.48388909e-02  8.69851246e-02  1.54107126e-02 -1.17373983e-01\n","  -9.89066412e-02  3.31322583e-01  1.46923692e-02  2.64863145e-01\n","   2.41228721e-02  3.55647917e-01  1.22619339e-01  1.53961855e-01\n","  -9.24004989e-02 -1.32620530e-01  1.83921838e-01 -8.35146768e-02\n","  -1.60502502e-01  1.76808024e-01  1.52592834e-01 -2.84933342e-01\n","   1.71984380e-01 -2.79281949e-01 -2.62329412e-02 -9.05032192e-02\n","   1.36034537e-01 -1.50426525e-01  1.69401107e-01  2.42165702e-01\n","  -5.79711255e-02 -2.91912919e-01  5.84592062e-02  1.86744740e-01\n","  -7.22319338e-02  1.59173969e-01  3.52397759e-01 -3.60108091e-02\n","   7.13994973e-02 -1.82025620e-01  3.68555519e-03  2.41313549e-01\n","   3.77787027e-01 -2.15153132e-01  1.41557685e-01 -1.52052207e-03\n","   1.52348101e-01  2.06844784e-01  1.45332061e-01 -2.85794774e-01\n","  -5.02280016e-02 -1.48716082e-01 -5.59030847e-02 -2.40065980e-02\n","   2.03280036e-01  1.90898931e-02 -3.60113498e-02  1.71855810e-01\n","  -5.34373321e-02  2.54228908e-01 -1.23195726e-01  2.61887310e-02\n","  -2.94267052e-01 -1.22954881e-01 -2.47206867e-01 -5.88414399e-02\n","   8.87546001e-02 -9.81965135e-02 -2.58761554e-01 -2.53692129e-01\n","  -1.47123617e-01  1.09567079e-01  1.15667135e-01 -1.38177912e-01\n","   2.04339560e-01  8.28999396e-02  6.79885848e-02 -2.62184524e-02\n","  -7.30516478e-02 -1.99297740e-01  1.40512491e-01  3.24808250e-02\n","   6.44496591e-02 -2.34834020e-01  1.52227047e-01  2.00709686e-01\n","   2.06846184e-01  1.47200097e-01  7.73669553e-02  2.24497438e-01\n","  -2.92402905e-01 -1.19091389e-01 -1.28867393e-01  2.25525230e-02\n","   1.75321117e-01 -2.05051371e-01 -1.14295883e-01 -1.66784201e-01\n","   7.22562301e-02  5.15122171e-03  4.23455107e-02 -2.14967836e-01\n","  -1.35613764e-01 -1.70139243e-02  2.41815386e-01  2.40790636e-01\n","   8.95110519e-02 -4.20963885e-03]]\n"]}]},{"cell_type":"code","metadata":{"id":"DHmczAuwnD-k","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787783922,"user_tz":-120,"elapsed":241,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"38dc3b4e-81d7-4bf1-ca52-a5b78c4ce138"},"source":["xs"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([0.44763699, 0.4437747 , 0.48921583, ..., 0.39184112, 0.41538961,\n","       0.36800379])"]},"metadata":{},"execution_count":230}]},{"cell_type":"markdown","metadata":{"id":"P9kL8wWknD-l"},"source":["batch_size = 1\n","len_ts = len(xs)\n","nfeature = 1\n","\n","inp = keras.layers.Input(batch_shape= (batch_size, len_ts, nfeature),\n","                       name=\"input\")  \n","rnn,s,c = keras.layers.LSTM(hunits, \n","                         return_sequences=True,\n","                         stateful=False,\n","                         return_state=True,\n","                         name=\"RNN\")(inp)\n","states = keras.models.Model(inputs=[inp],outputs=[s,c, rnn])\n","\n","for layer in states.layers:\n","    for layer1 in model1.layers:\n","        if layer.name == layer1.name:\n","            layer.set_weights(layer1.get_weights())\n","            \n","h_t_keras, c_t_keras, rnn = states.predict(xs.reshape(1,len_ts,1))\n","print(\"h3={}\".format(h_t_keras))\n","print(\"c3={}\".format(c_t_keras))"]},{"cell_type":"code","metadata":{"id":"PYvu7-ALnD-l","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787362574,"user_tz":-120,"elapsed":194,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"8abd4e45-1abc-4409-ab82-49b4ee996953"},"source":["model1.layers[2].get_weights()[0]"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["array([[ 0.10572137],\n","       [ 0.4486746 ],\n","       [-0.22848843],\n","       [-0.39934912],\n","       [-0.26273555],\n","       [-0.19199073],\n","       [ 0.15822992],\n","       [-0.24519974],\n","       [ 0.18533789],\n","       [-0.26270026],\n","       [ 0.13747217],\n","       [ 0.38513306],\n","       [ 0.34858853],\n","       [-0.25029057],\n","       [-0.12389065],\n","       [-0.14762451],\n","       [-0.20476736],\n","       [-0.3614929 ],\n","       [-0.21579278],\n","       [-0.19235815],\n","       [-0.20964262],\n","       [-0.20118506],\n","       [-0.20938753],\n","       [ 0.33464855],\n","       [ 0.29338267],\n","       [-0.33403957],\n","       [ 0.14250988],\n","       [-0.20275179],\n","       [-0.3115227 ],\n","       [ 0.18366632],\n","       [-0.35316718],\n","       [-0.15209693],\n","       [-0.2052368 ],\n","       [-0.12947737],\n","       [ 0.35385537],\n","       [ 0.11870625],\n","       [-0.3480861 ],\n","       [-0.32921496],\n","       [ 0.15901479],\n","       [-0.3761773 ],\n","       [ 0.3394533 ],\n","       [ 0.40093789],\n","       [ 0.2538861 ],\n","       [-0.142739  ],\n","       [-0.30557466],\n","       [-0.10401293],\n","       [-0.17685112],\n","       [ 0.23987393],\n","       [-0.398642  ],\n","       [ 0.14112177]], dtype=float32)"]},"metadata":{},"execution_count":160}]},{"cell_type":"code","metadata":{"id":"k43MSzZpnD-m"},"source":["#test de la quantization en 16 (les fonctions sont définies en bas de la page)\n","n = '00111111011111110001000100111101'\n","\n","print(n[:16])\n","bin_to_float(n[:16]+'0000000000000000')\n","\n","quantization16([ 0.735573,  0.9963568, 0.28433755, -1.1191157 ])"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"TEU3Nmw6nD-n"},"source":["quantizationInverse16([14818, 15352, 13452, 48249])"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"N3HEyBN5nD-n","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787790320,"user_tz":-120,"elapsed":192,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"15aa8bb3-e00a-47dc-cc2d-4d1b86e775a0"},"source":["lstm_model.layers[0]"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["<keras.engine.input_layer.InputLayer at 0x7fbb19ffe550>"]},"metadata":{},"execution_count":231}]},{"cell_type":"code","metadata":{"id":"A3Lo2BwanD-o"},"source":["file_object =  open('/parameters.h', 'w')"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"Cbm9eAjJnD-o","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787795390,"user_tz":-120,"elapsed":9,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"da4a6e57-ecbc-4c84-e3ee-788fad72fa3d"},"source":["file_object.write(\"//\\n// Generated by spiderweak using Python.\\n//\\n\\n#ifndef CPP_PARAMETERS_H\\n#define CPP_PARAMETERS_H\\n\\n\")"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["99"]},"metadata":{},"execution_count":233}]},{"cell_type":"code","metadata":{"id":"fPzYR1XonD-o","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787796821,"user_tz":-120,"elapsed":216,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"cce803dd-a520-4720-9a9a-397351f1740d"},"source":["file_object.write(\"#define HUNIT \" + str(hunits) + \"\\n\\n\")"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["19"]},"metadata":{},"execution_count":234}]},{"cell_type":"code","metadata":{"id":"jeEECb0tnD-p","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787799190,"user_tz":-120,"elapsed":210,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"88e9fab6-cfd7-49af-e783-142bd4f7cafb"},"source":["file_object.write(\"#endif //CPP_PARAMETERS_H\\n\\nconst int hunit = HUNIT;\\n\\nconst float lstm_cell_input_weights[4 * HUNIT] = {\")"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["103"]},"metadata":{},"execution_count":235}]},{"cell_type":"code","metadata":{"id":"WGndxZlInD-q"},"source":["model1.layers[1].get_weights()[0].tofile(\"weights.txt\", sep=\", \", format=\"%s\")"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"PDbvLBTfnD-q"},"source":["weight_file = open(\"weights.txt\", 'r')\n","for line in weight_file:\n","    file_object.write(line);\n","weight_file.close()"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"sGFXUuQpnD-q","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787802589,"user_tz":-120,"elapsed":190,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"f4fdb3a0-158f-48a8-8e2b-68032e39648b"},"source":["file_object.write(\"};\\n\\nconst float lstm_cell_hidden_weights[4 * HUNIT * HUNIT] = {\")"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["63"]},"metadata":{},"execution_count":238}]},{"cell_type":"code","metadata":{"id":"kN0_ZYNjnD-r"},"source":["model1.layers[1].get_weights()[1].tofile(\"weights.txt\", sep=\", \", format=\"%s\")"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"0ZkFmuGsnD-r"},"source":["weight_file = open(\"weights.txt\", 'r')\n","for line in weight_file:\n","    file_object.write(line);\n","weight_file.close()"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"764ibKljnD-r","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787806079,"user_tz":-120,"elapsed":184,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"9476f8ac-d67a-4aa1-ca11-d5b117c3ec2d"},"source":["file_object.write(\"};\\n\\nconst float lstm_cell_bias[4 * HUNIT] = {\")"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["45"]},"metadata":{},"execution_count":241}]},{"cell_type":"code","metadata":{"id":"7BQZfCtpnD-s"},"source":["model1.layers[1].get_weights()[2].tofile(\"weights.txt\", sep=\", \", format=\"%s\")"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"JU97PWBwnD-s"},"source":["weight_file = open(\"weights.txt\", 'r')\n","for line in weight_file:\n","    file_object.write(line);\n","weight_file.close()"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"mCHROiQlnD-s","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787811790,"user_tz":-120,"elapsed":316,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"18eec400-d901-44a8-94fd-c112e5f900cf"},"source":["file_object.write(\"};\\n\\nstatic float lstm_cell_hidden_layer[HUNIT] = {\")"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["50"]},"metadata":{},"execution_count":244}]},{"cell_type":"code","metadata":{"id":"xTw0Ik5TnD-t"},"source":["h_tm1.tofile(\"weights.txt\", sep=\", \", format=\"%s\")"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"m_dfAkxpnD-t"},"source":["weight_file = open(\"weights.txt\", 'r')\n","for line in weight_file:\n","    file_object.write(line);\n","weight_file.close()"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"M-0xeHAFnD-t","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787815424,"user_tz":-120,"elapsed":192,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"a0762a1c-4f96-4919-f158-e18ff59c02a2"},"source":["file_object.write(\"};\\nstatic float lstm_cell_cell_states[HUNIT] = {\")"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["48"]},"metadata":{},"execution_count":247}]},{"cell_type":"code","metadata":{"id":"Uca4zfHOnD-t"},"source":["c_tm1.tofile(\"weights.txt\", sep=\", \", format=\"%s\")"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"XwEKD8d1nD-u"},"source":["weight_file = open(\"weights.txt\", 'r')\n","for line in weight_file:\n","    file_object.write(line);\n","weight_file.close()"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"jF1ovn5CnD-u","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787821347,"user_tz":-120,"elapsed":189,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"a29e32a2-7ded-4f40-c31d-00abaf7c24ff"},"source":["file_object.write(\"};\\n\\nconst float dense_weights[HUNIT] = {\")"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["40"]},"metadata":{},"execution_count":250}]},{"cell_type":"code","metadata":{"id":"SzKi0WQMnD-v"},"source":["model1.layers[2].get_weights()[0].tofile(\"weights.txt\", sep=\", \", format=\"%s\")"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"noyE0wLynD-v"},"source":["weight_file = open(\"weights.txt\", 'r')\n","for line in weight_file:\n","    file_object.write(line);\n","weight_file.close()"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"S0YrKoAsnD-v","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787824716,"user_tz":-120,"elapsed":186,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"84b02235-cef0-4a96-8938-c1748f09fb96"},"source":["file_object.write(\"};\\nconst float dense_bias = \")"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["28"]},"metadata":{},"execution_count":253}]},{"cell_type":"code","metadata":{"id":"6RZQ0j4lnD-w"},"source":["model1.layers[2].get_weights()[1].tofile(\"weights.txt\", sep=\", \", format=\"%s\")"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"bC9aMZz4nD-w"},"source":["weight_file = open(\"weights.txt\", 'r')\n","for line in weight_file:\n","    file_object.write(line);\n","weight_file.close()"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"YgWwRBJvnD-w","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1632787830763,"user_tz":-120,"elapsed":193,"user":{"displayName":"Gabriel Suazo","photoUrl":"https://lh3.googleusercontent.com/a/default-user=s64","userId":"10361826335913688600"}},"outputId":"a55c26bb-4e77-4124-a00a-88eb742fe524"},"source":["file_object.write(\";\\n\")"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":["2"]},"metadata":{},"execution_count":256}]},{"cell_type":"code","metadata":{"id":"rul1aE6cnD-x"},"source":["file_object.close()"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"YMEoqdHznD-x"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"TVAFioXgnD-x"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"Z7eNVG6ynD-x"},"source":["\n","\n","fig = plt.figure(figsize=(9,4))\n","ax = fig.add_subplot(1,2,1)\n","ax.plot(h_tm1.flatten(),h_t_keras.flatten(),\"p\")\n","ax.set_xlabel(\"h by hand\")\n","ax.set_ylabel(\"h by Keras\")\n","\n","ax = fig.add_subplot(1,2,2)\n","ax.plot(c_tm1.flatten(),c_t_keras.flatten(),\"p\")\n","ax.set_xlabel(\"c by hand\")\n","ax.set_ylabel(\"c by Keras\")\n","plt.show()"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"swy-pmvbnD-y"},"source":["def quantization8(weight):\n","    return int(wMin + weight/255 * (wMax - wMin))\n","\n","def quantizationInverse8(weight8):\n","    return "],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"WthdcE2onD-y"},"source":["def float_to_bin(num):\n","    return bin(struct.unpack('!I', struct.pack('!f', num))[0])[2:].zfill(32)\n","\n","def bin_to_float(binary):\n","    return struct.unpack('!f',struct.pack('!I', int(binary, 2)))[0]\n","\n","def quantization16(weights32):\n","    weights16 = []\n","    for weight in weights32:\n","        weights16.append(bin_to_float(float_to_bin(weight)[:16] + '0000000000000000'))\n","    return weights16\n"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"dUcUGAKXnD-y"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"wmhmoj3RnD-z"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"_80GwigEnD-z"},"source":[""],"execution_count":null,"outputs":[]}]}